El indicador DONT_KILL_APP de PackageManager no funciona en Android Lollipop 5.0

La aplicación tiene dos actividades: una es un diálogo, otra es una actividad de pantalla completa que implementa varias clases. La actividad de diálogo tiene categoría MAIN / LAUNCHER.

Al presionar el botón de diálogo se inicia la actividad de pantalla completa y, a continuación, deshabilitar el componente de actividad del cuadro de diálogo para ocultar el icono.

La inhabilitación se realiza mediante el código habitual:

private static final ComponentName COMPONENT_NAME = new ComponentName("com.xxxx.xxxxx", "com.xxxx.xxxxx.DialogActivity"); .... .... try { PackageManager localPackageManager = getPackageManager(); localPackageManager.setComponentEnabledSetting(COMPONENT_NAME, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); } catch (Exception e) {} 

Funcionó bien hasta que me he actualizado a Lollipop. Ahora mi actividad de pantalla completa está muerta incluso si el usuario interactúa con ella. LogCat muestra que PACKAGE_CHANGED intención se disparó y luego boom, la aplicación se cierra.

Lo he probado en dos Nexus (KitKat y Lollipop) y OnePlus (Cyanogen 11 y 12.0). El resultado es siempre el mismo – Lollipop mata la aplicación.

¿Hay alguna otra forma de deshabilitar el componente? ¿Hay una manera de engañar la optimización de la memoria (supongo que es el alborotador), por lo que la aplicación no se matará?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.