我在狀態欄中顯示一個圖標。現在,我想在打開該內容時立即刪除該圖標,過了一段時間後,如果我們收到任何警報,該圖標將再次顯示。我怎樣才能做到這一點?從狀態欄中刪除通知圖標
10
A
回答
34
使用NotificationManager取消您的通知。您只需提供您的通知ID。
https://developer.android.com/reference/android/app/NotificationManager.html
private static final int MY_NOTIFICATION_ID= 1234;
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager;
mNotificationManager = (NotificationManager) getSystemService(ns);
mNotificationManager.notify(MY_NOTIFICATION_ID, notification);
示例代碼是不完整的。這取決於你如何創建你的通知。 只需確保您使用相同的ID來取消您在創建通知時使用的通知。
取消:
mNotificationManager.cancel(MY_NOTIFICATION_ID);
15
如果你想一旦用戶點擊它,設置通知標誌FLAG_AUTO_CANCEL創建通知之前刪除通知。
1
我使用了生成器模式,所以你可以設置從設置器setAutoCancel(true)
自動取消。看起來像這樣:
String title = "Requests";
String msg = "New requests available.";
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_gcm_icon)
.setContentTitle(title)
.setAutoCancel(true)
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(msg))
.setContentText(msg);
mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
-1
Intent resultIntent = new Intent(application, MainActivity.class);
resultIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent resultPendingIntent = PendingIntent.getActivity(application, 0, resultIntent, 0);
NotificationManager nmgr = (NotificationManager) application.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(application)
.setSmallIcon(R.drawable.icon_battery)
.setContentTitle(application.getString(R.string.app_name))
.setContentText("your text")
.setOnlyAlertOnce(false)
.setAutoCancel(true)
.setTicker("your ticker")
.setDefaults(Notification.DEFAULT_SOUND ) //| Notification.DEFAULT_VIBRATE
.setContentIntent(resultPendingIntent)
.setVisibility(VISIBILITY_SECRET)
.setPriority(Notification.PRIORITY_MIN);
Notification mNotification = mBuilder.build();
// mNotification.flags |= FLAG_NO_CLEAR;
nmgr.notify(0, mNotification);
相關問題
- 1. 從狀態欄中刪除通知圖標
- 2. 如何從狀態欄中刪除通知?
- 3. Android - 增量狀態欄通知圖標
- 4. Android:從通知欄中刪除通知
- 5. 從android通知欄中刪除通知
- 6. 狀態欄通知
- 7. 狀態欄通知
- 8. Android 4.2 GPS圖標不能從通知欄中刪除
- 9. 當用戶在android中點擊狀態欄時如何從狀態欄中刪除通知?
- 10. 從狀態欄中刪除填充
- 11. Android mipmap圖標作爲狀態(通知)欄圖標
- 12. 將狀態欄添加手機圖標(在哪裏刪除狀態欄?)
- 13. 用戶從狀態欄中刪除所有通知,如何獲取事件
- 14. 從狀態欄通知啓動webview類
- 15. 多個通知與android中的一個狀態欄圖標
- 16. 隱藏狀態欄中的GPS通知圖標
- 17. 通知圖標不顯示在棒棒糖的狀態欄中
- 18. 如何在Android狀態欄中隱藏通知圖標?
- 19. 處理狀態欄通知
- 20. Phonegap - Android - 狀態欄通知
- 21. 多個狀態欄通知
- 22. 狀態欄旋轉通知
- 23. Android狀態欄通知
- 24. 在使用AVAudioPlayer時刪除狀態欄中的播放圖標
- 25. 狀態欄中的圖標
- 26. 可以動態更改狀態欄的圖標(通知圖標)嗎?
- 27. 如何給通知添加標誌(狀態欄通知)?
- 28. 如何從特定視圖控制器中刪除狀態欄?
- 29. Android狀態欄通知加載sd圖標
- 30. Android如何在狀態欄上隱藏NotificationCompat.Builder通知的圖標?