Cómo deshabilitar mediante programación aplicaciones sin root?

Acabo de encontrar una aplicación que permite deshabilitar las aplicaciones de Samsung sin root, y en el fondo:

Https://play.google.com/store/apps/details?id=com.hecorat.packagedisabler

Y también este libre:

Https://play.google.com/store/apps/details?id=com.ospolice.packagedisabler

  1. ¿Cómo podría ser esto? Ni siquiera muestra un tipo de sistema alertDialog para preguntar al usuario si está bien deshabilitar la aplicación. ¿Encontraron un defecto que permite hacerlo?

  2. ¿Es sólo para algunas aplicaciones de Samsung? ¿Qué pasa con otras aplicaciones y otras empresas? ¿Es posible allí también?

  3. ¿Podría utilizarse el mismo mecanismo para otras operaciones? Como aplicaciones de habilitación?

Actualmente no dispongo de un dispositivo Samsung, por lo que ni siquiera puedo comprobar esta aplicación.

Puedes ocultar o mostrar las aplicaciones siempre que realices tu aplicación como propietario de dispositivo con el api setApplicationHidden de DevicePolicyManager

Su aplicación debe ser el propietario del dispositivo. Para convertirse en un propietario de dispositivo, debe realizar una configuración NFC o un shell de comandos de adb. Puedes encontrar un blog muy bien escrito por Florent aquí .

Sin embargo, hay un nuevo método para que tu aplicación se convierta en un propietario de dispositivo a partir de Android Marshmallow. Con un montón de limitaciones. Usted tiene que ser un proveedor de EMM y su cliente tiene que tener un negocio google o licencias de edu para que esto funcione.

No hay ninguna aplicación en la tienda de Google Play que permita que tu aplicación se convierta en admin de dispositivo. Como propietario de un dispositivo, tiene muchas cosas que puede controlar en el dispositivo y, por lo tanto, creo que Google puede no querer proporcionar este tipo de control sin salvaguardas adecuadas.

Con respecto a los dispositivos de Samsung, que proporcionan su knock sdk como se menciona con otras respuestas aquí que le da acceso a ciertas API que no se permiten a través de acciones Android.

  • No se puede llamar a void android.view.View.setTranslationZ (float) en un objeto null
  • SPH-L710 (Sprint Galaxy S III) corriendo 4.4.2 declaraciones erróneas xdpi y ydpi
  • Detección de la cubierta S-View
  • AssetManager $ AssetInputStream.finalize () se ha agotado después de 10 segundos
  • "Window Manager Crash" al enviar la tecla 'Abajo' en el Samsung Galaxy S
  • AlarmManager no funciona como se esperaba en el modo de suspensión en S5 Neo
  • GLES10.glGetIntegerv devuelve 0 en el dispositivo Samsung
  • Android SpeechRecognizer detecta su propio pitido como voz y salidas
  • Android Socket problema en Samsung Galaxy S4 (SGS4)
  • Mensajería Firebase - "demasiadas alarmas" en los dispositivos Android de Samsung
  • excepción java.lang.NoClassDefFoundError en algunos dispositivos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.