Questo codice crea una notifica. Se si fa clic su di esso, l'applicazione corrente è stato eseguito (l'intento è stato creato in Entry
, che è il mio unico Activity
), una versione leggermente modificata di un blog Android Developers:Metodo di chiamata Android alla notifica, fare clic su
private void makeIntent() {
NotificationManager mgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification note = new Notification(R.drawable.prev, "Status message!", System.currentTimeMillis());
Intent intent = new Intent(this, Entry.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
note.setLatestEventInfo(this, "New Email", "Unread Conversation", pi);
note.flags |= Notification.FLAG_AUTO_CANCEL;
mgr.notify(NOTIFY_ME_ID, note);
}
Ma io non voglio iniziare qualsiasi attività, ma semplicemente per eseguire un metodo nell'attività corrente. Da quanto ho letto fino ad ora, suppongo di dover utilizzare metodi come startActivityForResult()
, utilizzare intent-filters
e implementare onActivityResult()
, ma dopo aver fatto tutto ciò che è accaduto, cambiando le cose nello Intent
e nello PendingIntent
, non ho ancora risultati utilizzabili. È possibile in qualche modo chiamare semplicemente un metodo in Entry
(il mio principale Activity
, in cui è stato creato il Intent
), o prendere qualsiasi Intents
in uscita o in entrata quando faccio clic sul mio nuovo fatto Notification
?
PS. mi scuso se questo è un thread duplicato, SO è abbastanza lento in questo momento, non posso cercare correttamente.
Funziona, grazie. – stealthjong
La migliore soluzione che Google mi ha dato, grazie. –
Come già detto non dimenticare di aggiungere android: launchMode = "singleTop" –