簡體   English   中英

android-如何在特定時間推送通知(提醒)?

[英]android - how to push notification (reminder) on a specific time?

我檢查了堆棧溢出和Google文檔中的幾乎所有問題,但仍然不明白該如何准確地用於我的案例。

我想要的是,用戶將在應用程序中選擇提醒日期,並且在該時間內應用程序將發送通知,即使應用程序在提醒設置時間和提醒時間之間關閉或手機重新啟動也是如此。

那我需要用什么呢? 我需要哪些課程? 廣播接收器,AlarmManager這兩個足夠還是什么? 代碼20-30行的示例將很不錯=)

您將同時需要兩件事。

設置:您需要先在清單中注冊意圖,然后才能將您的應用設置為偵聽電話。

基本上,當用戶選擇時間時,您將需要:

  1. 將該時間保存在文件/ db /共享的首選項中。
  2. 設置警報管理器以在適當的時間喚醒您的應用
  3. 當警報管理器向您發送廣播時,啟動一項服務以執行必要的工作(廣播接收者必須在短時間內完成其工作,因此最好啟動一項服務)
  4. 在您的服務中,從文件/數據庫/共享首選項中刪除時間

如果您的應用曾經廣播過電話已重啟的廣播,則所有警報都將丟失。 您需要使用保存在文件/ db /共享首選項中的時間來重置它們。

請查看Android Developers網站上的日歷意圖,以便您可以使用它們來確定時間等。在廣播接收器上,將詳細信息或時間安排傳遞給廣播接收器。 一旦執行了此操作,請使用警報管理器等檢查時間是否正確,並在時間正確時發送推送通知。

我說這是假設您已經了解日歷,警報管理器和廣播接收器的意圖。 如果您不這樣做,建議您將以下內容與附加的Android開發人員一起使用。

  1. 使用AlertManager.set在特定時間發送通知。
  2. 要重新設置警報通知,請使用

     <receiver android:name=".AfterBootReceiver" android:label="AfterBootReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"></action> </intent-filter> 

@Override public void onReceive(Context context,Intent intent){

    ...
    }

重啟設備后重置AlarmManager.set。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM