我有一個應用程序,我想在應用程序運行時向通知欄顯示我的應用程序圖標,並且我還希望當用戶點擊通知欄中顯示的應用程序圖標 我的應用程序將被打開。這個怎麼做?請幫忙!從android通知欄中啓動應用程序
9
A
回答
14
要創建一個狀態欄通知,這樣做在你onCreate方法:
獲取對NotificationManager參考:
String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
實例化的通知:
int icon = R.drawable.notification_icon; CharSequence tickerText = "Hello"; long when = System.currentTimeMillis(); Notification notification = new Notification(icon, tickerText, when);
定義通知的擴展消息和意圖:
Context context = getApplicationContext(); CharSequence contentTitle = "My notification"; CharSequence contentText = "Hello World!"; Intent notificationIntent = new Intent(this, MyClass.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
傳遞通知到NotificationManager:
private static final int HELLO_ID = 1; mNotificationManager.notify(HELLO_ID, notification);
就是這樣。您的用戶現在已收到通知。
0
您需要發佈包含意圖啓動您的應用程序的掛起意圖的通知。 請參閱http://developer.android.com/guide/topics/ui/notifiers/notifications.html以瞭解如何執行此操作,以及http://javablogs.com/Jump.action?id=628173您可能陷入的陷阱。
3
幾點建議:
- ,如果你想在通知欄圖標,你必須發送一些通知。
- 通過單擊通知圖標無法啓動應用程序。它可以通過點擊通知來啓動,如果用戶下拉通知欄,則該通知將可用。爲此,您需要創建PendingIntent。
7
已接受的答案已棄用。以下是從google的documentation顯示對話框的方法。
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this).setSmallIcon(R.drawable
.logo_listy).setContentTitle("My notification").setContentText("Hello World!");
Intent resultIntent = new Intent(this, ResultActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(ResultActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
+0
工程太棒了。可能有助於某人使其成爲「持續」通知:通知noti = mBuilder.build(); noti.flags = Notification.FLAG_ONGOING_EVENT; – Artur 2014-02-20 00:58:44
相關問題
- 1. 從通知中啓動應用程序
- 2. Android:應用程序啓動通知
- 3. Android,使用parse.com推送通知,自動啓動應用程序
- 4. 通過Android推送通知啓動應用程序
- 5. iPhone應用程序中的通知欄
- 6. 從通知欄安裝Android應用程序
- 7. 從Android應用程序啓動未知活動
- 8. Air iOS/Android推送通知記得應用程序啓動
- 9. 在應用程序啓動時觸發Android通知
- 10. 單擊Xtify通知以啓動android應用程序| Appcelerator
- 11. Android通知重新啓動應用程序,但想要恢復
- 12. Android:從通知欄中刪除通知
- 13. 從android通知欄中刪除通知
- 14. 從狀態欄通知啓動webview類
- 15. Android:發送通知到PHP服務器通知欄到android應用程序
- 16. 在Android應用程序中刪除通知欄
- 17. 從遠程通知啓動
- 18. 從推送通知的警報視圖啓動應用程序
- 19. 從數據通知啓動應用程序
- 20. 從網站啓動Android應用程序
- 21. 從網絡啓動Android應用程序
- 22. 隱藏Android應用程序從啓動
- 23. Android:從應用程序內啓動Firefox
- 24. 如何在警報通知中自動啓動應用程序?
- 25. 從其他應用程序中刪除通知欄中的通知
- 26. Android應用程序啓動
- 27. 啓動Android應用程序
- 28. 單擊通知時從頭開始重新啓動Android應用程序
- 29. GCM用於從Salesforce發送Android移動應用程序通知
- 30. 如何從Java Web應用程序啓動Android應用程序?
現在已棄用new Notification()和setLatestEventInfo。查看我的答案或轉到谷歌的文檔,http://developer.android.com/guide/topics/ui/notifiers/notifications.html,更新的方式來顯示通知。 – GLee 2013-12-04 23:05:09