繁体   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