Voglio creare una scorciatoia in un'app per Android, che conduce a un'altra attività che non è l'avvio dell'app.come creare un collegamento che conduce a un'attività non di avvio?
risposta
per creare il collegamento in sé è necessario un'attività appositamente predisposto, che deve:
- essere definito nel tuo AndroidManifest.xml con un filtro intenti con l'android.intent.action.CREATE_SHORTCUT azione.
- Restituisce un risultato, un intent, contenente il collegamento effettivo. La scorciatoia stessa è rappresentata da un altro Intento.
Questa attività verrà visualizzata quando si preme il desktop e si seleziona "Scorciatoie".
Ovviamente il collegamento di per sé non è molto utile, quindi è necessario aggiungere un filtro di intent a qualsiasi attività che si desidera venga attivata dal collegamento. Il filtro intent dovrebbe corrispondere a qualsiasi Intent che hai scelto per il tuo collegamento.
ho scritto un piccolo how-to su questo argomento, è ottenuto maggiori dettagli: http://www.kind-kristiansen.no/2010/android-adding-desktop-shortcut-support-to-your-app/
ditemi se qualcosa non è chiaro in quel post, cercherò di chiarire in su.
Ho sviluppato un metodo qui sotto per creare l'icona di collegamento su Android Homescreen. Basta chiamarlo.
private void ShortcutIcon(){
Intent shortcutIntent = new Intent(getApplicationContext(), MainActivity.class);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Test");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
getApplicationContext().sendBroadcast(addIntent);
}
Non dimenticare di modificare il nome dell'attività, la risorsa icona. Buona programmazione !!!
Anche dopo aver cambiato nome e icona, nel mio caso nessuna icona appare con il tuo metodo. –
Il permesso deve essere aggiunto al manifest per installare il collegamento – kirtan403
Non dimenticare di aggiungere il permesso INSTALL_SHORTCUT come questo *
Grazie mille, è utile. –
Roger Grazie mille. –
@rogerkk, per favore aiutami con la mia domanda. http://stackoverflow.com/questions/21371491/create-app-shortcut-inside-the-custom-launcher-in-android – androidBoomer