我想創建一個生日提醒應用程序。我將個人姓名,出生日期和生日信息保存在數據庫中。我想在該日期自動發送消息。 任何人都可以提出一個想法來做到這一點。這裏可以使用共享偏好嗎?可以將特定的ID在特定的日期傳遞給數據庫,以便向其DOB上的人發送問候語。 任何人都可以請建議一個想法來處理在這種情況下的多個警報。如何在android中設置多個鬧鐘
1
A
回答
4
忽略這樣的事實,即有多個應用程序可以做到這一點(作爲免責聲明,我已經發布了一個完全適用於that的應用程序),我就是這麼做的。
簡單的步驟:
- 設置鬧鐘當您收到一個報警搶喚醒鎖
- 鍛鍊,如果任何生日會今天 發生喚醒設備每天一次
- 如果是發送/排隊等
- 設置報警是明天
您還需要重新啓動設備,因爲設備重新引導時任何警報都將被銷燬。在這種情況下,只是有意向的BOOT_COMPLETED呼叫到上面的步驟在第2
我報警代碼:
long alarmTime = System.currentTimeMillis()+(24*60*60*1000);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(context.ALARM_SERVICE);
Intent intent = new Intent("<package name>.WAKEUP_ALARM");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_ONE_SHOT);
alarmManager.set(AlarmManager.RTC_WAKEUP, alarmTime, pendingIntent);
其實我每一天在指定固定時間點,說上午05點左右醒了設備,並計算出當天可能需要完成的工作,但這相對容易處理(並且出於其他原因在我的應用的其他地方發生)。
雖然您可以爲下一年的所有生日設置鬧鐘,但是當設備重新啓動並且用戶更改了任何設備時,您可能必須將鬧鐘丟掉,這是浪費時間。
如果你真的想通過報警來傳遞數據庫ID簡單地把它添加到意圖:(?假設SMS消息)
Intent intent = new Intent("<package name>.WAKEUP_ALARM");
intent.putExtra("DatabaseKey", 1);
發送消息自動要求你有SEND_SMS許可,您發送短信在後臺 - 像這樣stackoverflow answer
相關問題
- 1. 如何使用android鬧鐘管理器設置多個鬧鐘
- 2. 問題在設置多個鬧鐘android?
- 3. 在Android中設置更多鬧鐘?
- 4. 在Android中多次設置鬧鐘
- 5. 如何在android java中設置鬧鐘
- 6. 如何在Android中設置鬧鐘?
- 7. Android設置多個長日期鬧鐘
- 8. 如何在android中一次設置多個鬧鐘?
- 9. 如何在android中爲日曆事件設置多個鬧鐘?
- 10. 如何在Android中設置多個鬧鐘?
- 11. 設置多個鬧鐘
- 12. 在我的鬧鐘應用程序中設置多個鬧鐘
- 13. 如何在android studio上設置鬧鐘?
- 14. 具有多個鬧鐘的Android鬧鐘
- 15. 當設置多個鬧鐘時,只發出一個鬧鐘
- 16. 使用鬧鐘管理器在Android中設置鬧鐘
- 17. Android BroadcastReciever設置鬧鐘
- 18. 每天設置鬧鐘android
- 19. 在UTC中設置android鬧鐘
- 20. 如何在android中使用鬧鐘管理器設置星期一鬧鐘?
- 21. 如何在ios中設置鬧鐘?
- 22. 如何在iOS中設置鬧鐘?
- 23. 鬧鐘設置
- 24. 如何在python中設置多個鬧鐘
- 25. 設置3個不同的鬧鐘android
- 26. 多個鬧鐘沒有設置
- 27. 每週每天設置多個鬧鐘
- 28. 如何設置鬧鐘與Android中的鬧鐘應用程序相同?
- 29. 如何在Android應用程序中設置多個每日鬧鐘?
- 30. Android中的AlarmManager.setRepeating()未設置鬧鐘
嗨,感謝您的評論。你能否說多個報警是否可以保存在待處理的意圖中?或者說,我們一次只能設置一個鬧鐘,然後如果只有一個鬧鐘,我們可以設置其他鬧鐘。所有警報是否在未決意圖隊列中?你可以幫我嗎。 – Matthew
您可以指定多個警報(如果您將來要處理一天或兩天以上的事件,這是一個非常糟糕的主意),但是您需要使用上面的代碼來設置警報的時間和時間不同這個位「PendingIntent.getBroadcast(context,0,intent)」爲每個要檢索的警報更改0,否則最終將檢索相同的未決意圖。由於警報距離太遠,您可以不保證他們會觸發它,只有一個警報,然後設置更多的警報會更有效率。 – zeetoobiker