Eliminar acceso directo a mi aplicación desde el lanzador de acciones en ics

Necesito eliminar uno (mejor) o todos los accesos directos (peor caso) apuntando a mi aplicación desde el lanzador de acciones. No pude usar la emisión de UNINSTALL_SHORTCUT, parece que apenas no trabaja (problema simillar a esto .

Mi aplicación está firmada por el certificado del sistema (se instalará en / system / app) así que tengo algunas ideas, cómo eliminar los accesos directos.

  1. ¿Hay una forma de trabajo de usar UNINSTALL_SHORTCUT en ics?

  2. He visto que lanzador de acciones elimina todos los enlaces que apuntan a mi aplicación cuando lo desinstalo. ¿Hay alguna manera de simular la desinstalación (o enviar emisión package_removed, tener privilegios de sistema)? Tal vez escribir una parte del gestor de paquetes?

  3. Si 2 no es posible ¿hay alguna manera que puedo hacer que el gestor de paquetes envíe PACKAGE_REMOVED difusión, por reinstalación / actualización de mi aplicación? (Puedo instalar / actualizar aplicaciones silenciosamente, porque tengo privilegios del sistema con el permiso INSTALL_PACKAGES).

Creo que tendrías otra manera de comenzar tu aplicación además del atajo.

Para no mostrarlo en el cajón de la aplicación, solo elimina

<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 

Desde el manifiesto de su actividad y no mostrará el acceso directo

UPDATE: puede separar los accesos directos en una aplicación / apk diferente e instalar el acceso directo "app" cuando necesite el acceso directo y desinstalar cuando no sea necesario.

Parece que UNINSTALL_SHORTCUT no funciona con una bruja EXTRA_SHORTCUT_NAME que tiene clave de espacio.

Intente quitar la clave de espacio de EXTRA_SHORTCUT_NAME.

Esto funcionó para mí:

 private void deleteShortCut(Context context) { Intent shortcutIntent = new Intent(Intent.ACTION_MAIN); shortcutIntent.setClassName("com.example.androidapp", "SampleIntent"); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); shortcutIntent.putExtra("someParameter", "HelloWorld"); Intent removeIntent = new Intent(); removeIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); removeIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "ShortcutName"); removeIntent.putExtra("duplicate", false); removeIntent .setAction("com.android.launcher.action.UNINSTALL_SHORTCUT"); context.sendBroadcast(removeIntent); } private void addShortCut(Context context) { Intent shortcutIntent = new Intent(Intent.ACTION_MAIN); shortcutIntent.setClassName("com.example.androidapp", "SampleIntent"); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); shortcutIntent.putExtra("someParameter", "HelloWorld"); Intent addIntent = new Intent(); addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "ShortcutName"); addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.ic_launcher)); addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); context.sendBroadcast(addIntent); } 

Para eliminar el acceso directo:

Puede tocar y mantener pulsado un acceso directo y arrastrar ese acceso directo al contenedor de basura en la parte inferior para deshacerse de él. Una vez que se pone rojo, déjalo ir. El acceso directo se eliminará, pero la aplicación permanecerá instalada.

Para agregar acceso directo:

Una vez que hayas encontrado una aplicación para la que quieres crear un acceso directo, deberás tocar y mantener pulsada la aplicación. El menú de aplicaciones desaparecerá y volverás a tu pantalla de inicio. Puede arrastrar el icono de la aplicación a la izquierda oa la derecha para ver diferentes pantallas de inicio. Suelte la aplicación para colocar el acceso directo donde desee.

  • Abrir búsqueda global como superposición
  • Android: elegir el lanzador por defecto programatically
  • ¿Cómo iniciar el servicio en el inicio del dispositivo en android?
  • Instalador de paquetes de Android: ¿cómo obtener "Abierto" y "Hecho" y el resultado de la actividad ambos?
  • Android: ¿Cómo convertir mi aplicación normal de Android en Android and Launcher?
  • Icono de lanzador de Android demasiado pequeño
  • ¿Cómo instalar el paquete de iconos en el lanzador personalizado?
  • Cómo cargar la aplicación directamente sin iniciar la pantalla de inicio
  • ¿Cómo abrir el mensaje de inicio predeterminado del lanzador?
  • ¿Cómo cambiar el icono y la etiqueta de una aplicación una vez que se instala?
  • Animación de Android al ejecutar una nueva aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.