android - ¿Cómo se le notifica al navegador web Dolphin cuando se está desinstalando?
android-intent uninstall (3)
¿Tal vez la aplicación tenga un servicio en segundo plano que verifique la aplicación de primer plano cuando se active su propia devolución de llamada onDestroy (), y si la aplicación de primer plano es la actividad de desinstalación del instalador de paquetes de Android, lanza un nuevo intento para la página web?
Fondo
Podría ser útil para las aplicaciones permitir que el usuario responda por qué se decidió desinstalarlas.
El problema
Parece que la aplicación del navegador web Dolphin (y " todo lo que contiene mi lanzador ") de alguna manera logró evitarlo, y ahora muestra una página web (en el navegador web predeterminado) cada vez que se desinstala la aplicación.
Esto sucede incluso si desinstalo usando ADB.
Como usuario, realmente lo odio, pero sigue siendo interesante ya que, por lo que sé, las aplicaciones no pueden tener intenciones para la desinstalación de sí mismas.
Pregunta
¿Como puede ser? ¿Cómo lograron superar esto?
¿Es esto un hack?
Intente obtener la actividad principal de la tarea a través de ActivityManager y verifique si se trata de la actividad de desinstalación.
Código del núcleo:
ComponentName topActivity = mActivityManager.getRunningTasks(1).get(0).topActivity;
String packageName = topActivity.getPackageName();
String className = topActivity.getClassName();
Log.v(TAG, "packageName" + packageName);
Log.v(TAG, "className" + className);
if ("com.android.packageinstaller".equals(packageName)
&& "com.android.packageinstaller.UninstallerActivity".equals(className)) {
//Do anything you want here
}
Supongo que están utilizando ACTION_PACKAGE_REMOVED. http://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_REMOVED O eso, o el método de Robin Hood y Frei Tuck, donde cada uno escucha los eventos de transmisión desde el otro.
Solo una conjetura, pero lo estudiaré.
Esta podría ser una opción: ¿Cómo puede una aplicación detectar que se va a desinstalar?