Ho un'implementazione di notifica GCM. So che l'applicazione client riceve la notifica sia che si trovi in primo piano, in background o in stato di morte. Quello che vorrei sapere è, come posso avviare la mia applicazione sulla notifica ricevuta, quando l'applicazione è nello stato di morte?Avvia l'applicazione quando è stata ricevuta la notifica GCM
risposta
Nel ricevitore messaggio, effettuare le seguenti operazioni:
final Intent notificationIntent = new Intent(context, YourActivity.class);
notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
Qui sostituire YourActivity.class con l'attività di ingresso. Questo ha funzionato per me.
È possibile utilizzare NotificationManager per avviare l'attività.
tenta di utilizzare sottostante Codice All'interno della vostra onMessage() metodo che è il metodo sottoposto a override in classe che estende GCMBaseIntentService classe di GCM.
int icon = R.drawable.your_app_icon;
long when = System.currentTimeMillis();
NotificationManager notificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(icon, message, when);
String title = context.getString(R.string.app_name);
Intent notificationIntent = new Intent(context, YOUR_ACTIVITY.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// notificationIntent.putExtra("PostName", vPostText);
// Log.i(TAG, "Sent Postid " + postid);
// Util util = (Util) context.getApplicationContext();
// util.setPostID(postid);
// util.setNotify(true);
// util.setUserNAME(vPortCode);
// util.setPostNAME(vPostText);
// util.setmEDIA(vMedia);
// util.setmEDIATHHUMB(vMediaThumb);
// util.setmEDIATYPE(vMediaType);
// util.setAirportName(vAirportName);
notificationIntent.putExtra("Set_image", true);
notificationIntent.putExtra("Notify", true);
// set intent so it does not start a new activity
// notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
// notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
// | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent = PendingIntent.getActivity(context,
(int) System.nanoTime(), notificationIntent, 0);
notification.setLatestEventInfo(context, title, message, intent);
notification.defaults |= Notification.DEFAULT_SOUND;
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify((int) System.nanoTime(), notification);
Grazie. So come avviare un'attività dall'applicazione. Ma, quello che vorrei fare è, in caso di notifica ricevuta, se la mia applicazione è in background, vorrei portarlo in primo piano, se è in primo piano, quindi continuerei l'elaborazione, e se la mia applicazione è in lo stato stop/ucciso quindi voglio "riavviare l'applicazione" non attività. Quindi puoi dirmi se esiste un modo per avviare l'applicazione quando l'applicazione è nello stato di arresto/abbattimento sulla notifica ricevuta? – jasdmystery
@jasdmystery: hai scoperto? sto affrontando lo stesso problema. – user836026
Fare riferimento alla risposta sopra. – jasdmystery
- 1. Notifica push GCM quando l'app iOS è in background
- 2. Si illumina quando viene ricevuta la notifica android
- 3. rollback/annulla la notifica di android-gcm
- 4. GCM 3.0 - gcm non mostra automaticamente la notifica con il parametro di notifica
- 5. Numero badge di aggiornamento quando viene ricevuta una notifica push quando App non è aperta
- 6. Rileva se è stata ricevuta una chiamata in uscita
- 7. Notifica push non ricevuta su iphone
- 8. Gestore del metodo per la notifica ricevuta Arresto anomalo dell'applicazione. :(
- 9. avvia l'attività dal servizio quando si fa clic sulla notifica
- 10. Come posso sapere se la mia app per iPhone è in esecuzione quando viene ricevuta una notifica push?
- 11. Come impostare grande icona per la notifica GCM
- 12. Inviare la notifica GCM a un dispositivo collegato
- 13. Invia notifica in lingua araba utilizzando GCM
- 14. Determina se un'applicazione è in esecuzione in primo piano quando viene ricevuta una notifica su iOS
- 15. arresto anomalo quando si avvia l'app dal Centro di notifica
- 16. Trova quando la linea è stata eliminata
- 17. notifica silenziosa tramite GCM su Android/IOS
- 18. GCM Android Push Notification mostra sempre il vecchio messaggio. Intenzione ricevuta errata
- 19. Come dire che l'attività è stata coperta dall'area di notifica?
- 20. Come rilevare se una notifica è stata respinta?
- 21. avere la notifica quando un video si avvia o si arresta in UIWebView
- 22. Android: notifica One Signal Push non ricevuta mentre l'app è in uso
- 23. Stampa ricevuta con stampante ricevuta
- 24. iOS: notifica quando l'app è installata (ma non ancora eseguita)
- 25. A volte non ricevendo notifica push GCM in Mobile
- 26. ATTnnnnnn.txt allegati quando l'e-mail è ricevuta in Outlook
- 27. Notifica push GCM Android per applicazione di localizzazione
- 28. Intervallo IP del server di notifica push GCM di Google?
- 29. Come determinare quando è stata raggiunta la fine del file?
- 30. Come posso rilevare quando la mia vista è stata spostata?
Cosa succede se l'applicazione è già in esecuzione? – Ahmed
Cosa succede se l'app viene rimossa dall'elenco delle attività? in tal caso il "destinatario del messaggio" non verrà chiamato. Gestirà dal sistema e ha fatto clic sul tag "click_action". Ma la mia preoccupazione è aprire la mia attività target dopo l'arrivo della notifica. –
come ottenere il contesto qui nel messaggio fcm ?? –