是否可以在一段時間後自動消失?5分鐘後通知消失
Q
5分鐘後通知消失
4
A
回答
1
是的,您可以創建一個在後臺運行並在五分鐘後超時並刪除通知的服務。你是否「應該」實際做到這一點就有待辯論。通知應該在那裏通知用戶...並且用戶應該能夠自行解僱。
A服務是可以執行長時間運行在後臺 操作,並且不提供用戶界面的應用程序組件。
4
您可以使用AlarmManager。我認爲比Android服務更合適,更容易實現。
隨着AlarmManager
你不需要擔心做些事情,直到完成時間。 Android會爲你做這件事,並且當它發生時發送brodcast。您的申請必須有一個接收器才能獲得正確的意圖。
看論文的例子:
0
你也可以使用一個經典的Java可運行一個簡單的小線頭。
Handler h = new Handler();
long delayInMilliseconds = 5000;
h.postDelayed(new Runnable() {
public void run() {
mNotificationManager.cancel(id);
}
}, delayInMilliseconds);
也看這裏:
0
是的,這是很容易的。 如果您收到通知,那麼如果用戶未讀取通知,請添加一個處理程序,然後刪除通知。
@Override
public void onMessageReceived(RemoteMessage message) {
sendNotification(message.getData().toString);
}
新增通知代碼
private void sendNotification(String messageBody) {
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("TEST NOTIFICATION")
.setContentText(messageBody)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
int id = 0;
notificationManager.notify(id, notificationBuilder.build());
removeNotification(id);
}
取消通知代碼。
private void removeNotification(int id) {
Handler handler = new Handler();
long delayInMilliseconds = 20000;
handler.postDelayed(new Runnable() {
public void run() {
notificationManager.cancel(id);
}
}, delayInMilliseconds);
}
+0
不適用於Android至少4.4和5.0 – Stony 2017-12-20 07:45:58
相關問題
- 1. 每隔5分鐘通知
- 2. 什麼是幾秒鐘後消失的ios文本通知
- 3. 幾秒鐘後,Chome推送通知消失
- 4. 2分鐘後連續通知android
- 5. 5分鐘後IE超時
- 6. 活動完成後通知消失
- 7. 更新後Android通知setContentText消失
- 8. Facebook活動消息1分鐘後消失
- 9. Android電池電量通知&5分鐘關機後關機/關機設備
- 10. 單擊通知後,Android通知不會消失
- 11. 顯示文本,然後讓它在一分鐘後消失
- 12. 如何識別在幾秒鐘內消失的通知元素?
- 13. 使PrimeFaces消息在5秒後消失
- 14. Rails的生產幾分鐘之後,在5服務器響應(5分鐘)
- 15. 時間beetween + 5/-5分鐘
- 16. iPhone在後臺進入分鐘後沒有收到通知
- 17. 5分鐘後節點https請求ECONRESET
- 18. 5分鐘後無法加載
- 19. 5分鐘後斷開用戶
- 20. 5分鐘後自動刷新
- 21. Weblogic在5分鐘後重播請求
- 22. 5分鐘後停止方法執行
- 23. PHP readfile_chunked後5分鐘路程
- 24. 5分鐘後Codeigniter會話過期
- 25. 軌找到最後5分鐘
- 26. 5分鐘後全部死亡
- 27. Javascript:使Cookie在5分鐘後過期
- 28. C++通話功能每5分鐘
- 29. 我的dashclock通知消失
- 30. 通知消失 - Android DownloadManager
[幾秒後清除通知]的可能的複製(https://stackoverflow.com/questions/4994126/clearing-notification-after-a-few-seconds) – mike47 2017-07-22 18:41:28