即使应用程序不是 运行 in Android,如何按时间或间隔发送通知?

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

我绝对是 Android 的初学者。现在我要自己创建一个小项目。那将是一个待办事项应用程序。而我想要做的是,用户为特定的日期和时间设置一个任务。用户可以设置多个任务。我想要做的是,即使应用程序已关闭,我也想在时间与为任务设置的时间相同时向用户发送通知。我怎样才能做到这一点?我在网上搜索了待办事项应用教程。但它们不包括该功能。

我发现了这个:How to send notification to specific people even if the app is closed?。我认为那不是我想要的。我找到了一些。但它们是不完整的。所以对于一个绝对的初学者来说是非常困难的。

创建 wakeLocker class 并在 broadcastreceiver class 中调用它。

public 摘要 class 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
        }}

使用警报管理器为特定日期和时间安排事件。通过在清单文件中注册广播接收器,即使您的应用程序在后台运行,它也会被执行。

广播接收器运行后,您发送通知

希望这能给你一个开始