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.
- Cómo obtener la lista de todos los accesos directos instalados que se encuentran en el inicio de pantalla de inicio en android
- Crear una aplicación de lanzamiento en android
- ¿Es posible tener más de una actividad de lanzador?
- Widget de Android que parece exactamente un icono de lanzador
- Android inicia actividad incorrecta
-
¿Hay una forma de trabajo de usar UNINSTALL_SHORTCUT en ics?
-
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?
-
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).
- ¿Cuáles son las formas alternativas de lanzar mi aplicación?
- La aplicación se reinicia completamente cuando se inicia con el icono de prensa en el lanzador
- Android - ¿Cómo empezar a crear una aplicación de lanzamiento?
- Barra de estado de superposición en android 4.2.2+
- La aplicación de inicio y la clave de inicio no son consistentes
- Aplicaciones de las aplicaciones recientes volver a lanzador de acciones en lugar de lanzador personalizado
- La aplicación no aparece en el lanzador debido a <data android: scheme = "http" /> en AndroidManifest.xml
- Omitir correctamente la actividad de inicio de sesión si ya ha iniciado sesión
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.
- El cambio TextField activa el ciclo completo de diseño
- Android MediaPlayer Streaming desde un redireccionamiento PHP no funciona-out!