即使应用程序不是 运行 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
}}
使用警报管理器为特定日期和时间安排事件。通过在清单文件中注册广播接收器,即使您的应用程序在后台运行,它也会被执行。
广播接收器运行后,您发送通知
希望这能给你一个开始
我绝对是 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
}}
使用警报管理器为特定日期和时间安排事件。通过在清单文件中注册广播接收器,即使您的应用程序在后台运行,它也会被执行。
广播接收器运行后,您发送通知
希望这能给你一个开始