簡體   English   中英

即使應用未在Android中運行,如何按時間或間隔發送通知?

[英]How to send notification by timing or interval even the app is not running in Android?

我絕對是Android的初學者。 現在,我將自己創建一個小項目。 那將是一個待辦事項應用程序。 我想做的是,用戶為特定的日期和時間設置任務。 用戶可以設置多個任務。 我想做的是,即使應用程序已關閉,我希望在該時間與為任務設置的時間相同時向用戶發送通知。 我該如何實現? 我搜索了在線待辦事項應用程序教程。 但是它們不包括該功能。

我發現了這一點: 即使該應用已關閉,如何將通知發送給特定的人? 我認為那不是我想要的。 我找到了 但是它們是不完整的。 因此,對於一個絕對的初學者來說很難遵循。

使用警報管理器為特定的日期和時間安排事件。 即使您的應用程序處於后台,也可以通過在清單文件中注冊廣播接收器來執行該操作。

廣播接收器運行后,您將發送通知

希望這能給您開始

創建wakeLocker類,並在broadcastreceiver類中調用它。

公共抽象類WakeLocker {

private static PowerManager.WakeLock wakeLock;

public static void acquire(Context context) {
    if (wakeLock != null) wakeLock.release();

    PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
    wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK |
            PowerManager.ACQUIRE_CAUSES_WAKEUP |
            PowerManager.ON_AFTER_RELEASE, "WakeLock");
    wakeLock.acquire();
}

public static void release() {
    if (wakeLock != null) wakeLock.release(); wakeLock = null;
}

更多詳細信息,請參閱http://developer.android.com/reference/android/os/PowerManager.WakeLock.html

像這樣調用方法(獲取)。

  public class GcmBroadcastReceiver extends WakefulBroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
             WakeLocker.acquire(context);
            // your code
        }}

暫無
暫無

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

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