Ten kod tworzy powiadomienie. Jeśli klikniesz go, obecna aplikacja jest prowadzony (intencją jest tworzony w Entry
, który jest moim jedynym Activity
), lekko zmodyfikowana wersja Android Developers blogu:Metoda połączenia z Androidem po powiadomieniu kliknij
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);
}
Ale nie chcę, aby rozpocząć dowolne działanie, a jedynie uruchomienie metody w bieżącym działaniu. Z tego co przeczytałem do tej pory, myślę, że muszę użyć metod takich jak startActivityForResult()
, użyć intent-filters
i zaimplementować onActivityResult()
, ale po tym, jak się z tym wszystkim pogubiłem, zmieniając rzeczy w Intent
i PendingIntent
, nadal nie mam żadnego użytecznego wyniku. Czy można w jakiś sposób wywołać metodę w Entry
(moja główna Activity
, w której jest tworzona Intent
) lub przechwycić każdą wychodzącą lub przychodzącą Intents
po kliknięciu na nowo utworzoną Notification
?
PS. moje przeprosiny, jeśli jest to duplikat wątku, SO jest teraz dość powolny, nie mogę poprawnie wyszukiwać.
Działa, dziękuję. – stealthjong
Najlepsze rozwiązanie, które otrzymałem od Google, dzięki. –
Jak wspomniano, nie zapomnij dodać android: launchMode = "singleTop" –