¿Cómo puedo evitar que se desinstale una aplicación de Play Store?

En nuestra organización, proporcionamos tabletas Android a algunos usuarios. Hay una aplicación que hemos instalado en los dispositivos que no queremos que los usuarios puedan eliminar.

Busqué "bloqueo de aplicaciones" en Play Store y probé varios 'bloqueadores de aplicaciones' cuyas contraseñas protegen las aplicaciones que elijo.

Si luego uso el menú de Android para intentar desinstalar una aplicación que he protegido con la aplicación de bloqueo de aplicaciones, me solicita una contraseña, lo cual es bueno.

Pero, si entro en la aplicación Play Store y trato de desinstalarla, la elimina directamente. Y no quiero proteger con contraseña Play Store. ¿Hay alguna forma de evitar la desinstalación de ciertas aplicaciones de forma infalible?

Incluso si deshabilita Play Store, si la depuración está habilitada en el dispositivo, adb uninstall the.interesting.appse eliminará la aplicación.
¿O tal vez trate a sus usuarios como adultos y simplemente dígales: "No desinstalen esto" y confíe en sus compañeros de trabajo en lugar de tratar de encontrar soluciones tecnológicas "inteligentes" para un problema de política?
@GregBair Definitivamente estoy de acuerdo con tu enfoque. Y tienes razón al ponerlo en un comentario en lugar de una respuesta.

Respuestas (3)

Una forma de lograr lo que desea incluiría los siguientes pasos:

  1. (temporalmente) el dispositivo
  2. convertir la aplicación en cuestión en una aplicación del sistema (por ejemplo, usando Titanium Backup ★ root , pero también hay otras aplicaciones que lo ayudan con este paso)
  3. desrootear el dispositivo de nuevo

Como la aplicación ahora reside en un espacio de solo lectura ( /system), el usuario no puede eliminarla sin rootear el dispositivo o actualizar una ROM, lo que, por supuesto, podría hacerse, pero al menos es un umbral de inhibición más alto.

El método de Izzy funciona bien, pero si no desea rootear temporalmente su(s) dispositivo(s), puede crear un script de actualización que copie su aplicación en la raíz del dispositivo, para que se reconozca como una aplicación estándar.

Echa un vistazo al siguiente tutorial: http://www.londatiga.net/it/how-to-create-android-update-zip-package/

Esto podría funcionar para algunos, pero en muchos casos requiere la instalación de una recuperación personalizada. Jugué con esto en el pasado, y varios dispositivos no aceptaron update.zipporque no estaba firmado con la clave del fabricante (lo que no puedes hacer porque no la tienes). Si este no fuera el caso, rootear sería bastante fácil, ya que uno podría simplemente empujar los archivos requeridos a la /systempartición de esta manera :)

¿La aplicación está desarrollada por su organización?

Si puede controlar el código fuente de la aplicación, puede evitar que los usuarios la desinstalen accidentalmente con la ayuda de DevicePolicyManager . La ventaja es que no necesita convertir la aplicación en cada tableta para que sea una aplicación del sistema. Una vez que la aplicación se instala desde Google Play, no se puede desinstalar a menos que los usuarios deshabiliten DevicePolicyManager en la configuración de seguridad.

Si no puede cambiar la aplicación, conviértala en una aplicación del sistema. Debido a que hay muchos dispositivos para manejar, debe escribir un script para hacer el trabajo.

En ambos sentidos, si los usuarios realmente quieren desinstalar su aplicación, siempre pueden encontrar una manera. Así que asegúrese de que su usuario no odie su aplicación.