Come aggiungere il collegamento di un'applicazione alla schermata iniziale

So che non è documentato e non funziona su each dispositivo, ma vedo sempre più app posizionando i loro collegamenti sulla schermata iniziale dopo che sono stati installati. Trovato un sacco di codici di codice come farlo ma per loro non si adattano insieme. Questo è quello che ho per ora.

  1. Hai bisogno di un permesso nel manifesto.

  2. Finestre di dialogo personalizzate per visualizzare l'image, il text e setTitle
  3. implementare un indicatore di attività di rotazione simile a iOS in Android
  4. Animare una macchina (Marker) lungo un path nella mappa android di Google
  5. Errore di backup automatico di Android
  6. Richiesta post di HTTP: errore 400, messaggistica a tema firebase
  7. Il plug-in BluetoothSerial non funziona con gli ioni
  8. <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> 
  9. Crea un intento di attività che dovrebbe essere chiamato. Ex (da cgeek):

     Intent shortcutIntent = new Intent(); shortcutIntent.setClassName("com.example.androidapp", "SampleIntent"); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
  10. Crea il collegamento stesso

     Intent addIntent = new Intent(); addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Shortcut Name"); addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.icon)); addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); context.sendBroadcast(addIntent); 

Le mie domande sono: where dovrebbe andare questo codice per fare il collegamento aggiunto dopo .apk installato? Ho provato questo codice nell'attività del lancio, crea un collegamento rotto (un'altra storia) each volta che inizia l'applicazione.

5 Solutions collect form web for “Come aggiungere il collegamento di un'applicazione alla schermata iniziale”

Per quanto ne so, questa è una caratteristica facoltativa dell'applicazione Market, non delle applicazioni stesse. Di progettazione un'applicazione non riceve una trasmissione relativa a se stessa da installare. Se i codici funzionano, il più presto ansible eseguirlo è la prima volta che l'utente lancia l'applicazione. Detto ciò:

Fare. Non. Automaticamente. Creare. App. Tasti di scelta rapida.

Mai.

Non usurpare il design utente dell'UI.

Sono d'accordo con la risposta attualmente accettata, che non dovresti farlo ricevendo un tempo di trasmissione o di installazione. Non fare nulla senza l'interazione o l'authorization dell'utente.

Tuttavia, se si fornisce un button nella tua applicazione, si metterà questo nei pulsanti OnClick gestore. Aggiungerà poi una scorciatoia quando l'utente seleziona l'opzione "aggiungi collegamento".

Ciò può essere ansible solo aggiungere il codice riportto di seguito all'attività principale nel metodo oncreate

  Intent HomeScreenShortCut= new Intent(getApplicationContext(), MainActivity.class); HomeScreenShortCut.setAction(Intent.ACTION_MAIN); HomeScreenShortCut.putExtra("duplicate", false); //shortcutIntent is added with addIntent Intent addIntent = new Intent(); addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, HomeScreenShortCut); addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "AppName"); 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); 

Aggiungi aggiungi questa authorization al tuo manifesto

  <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> 

Ho usato questo codice per creare 3 collegamenti alla homepage:

 Intent HomeScreenShortCut= new Intent(getApplicationContext(), MainActivity.class); HomeScreenShortCut.setAction(Intent.ACTION_MAIN); HomeScreenShortCut.putExtra("duplicate", false); //shortcutIntent is added with addIntent Intent addIntent = new Intent(); addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, HomeScreenShortCut); addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "AppName"); 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); 

Esistono le carenze nello stesso metodo sopra riportto. Prendi la scorciatoia alla schermata iniziale.

L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.