如何在设备处于睡眠模式时的某个特定时间在 android 中推送本地通知

Posted

技术标签:

【中文标题】如何在设备处于睡眠模式时的某个特定时间在 android 中推送本地通知【英文标题】:How to Push Local Notification in android at some particular time when device is in sleep mode 【发布时间】:2016-08-18 10:20:51 【问题描述】:

实际上,我正在尝试制作我的大学常规应用程序..它使用 NotificationManager 向用户通知当前期间(我总共有九个期间,有些时间间隔不同)...一切正常,但问题是当设备进入睡眠状态时发生,它不会在睡眠模式下推送任何通知...我正在使用服务来推送通知,但我猜服务在睡眠模式下也会进入睡眠状态...我的服务在睡眠期间永远不会自动终止...但它没有给出任何通知...请帮助我

Click Here to view my code

【问题讨论】:

androidManifest.xml 中添加这个 ` ` 那太耗电了 嘿,我遇到了类似的问题,但在我的情况下,这种行为是随机的。我在睡眠模式下收到通知一段时间,几分钟后通知就停止了。在按下锁定按钮时,它会再次启动。你找到解决办法了吗? 【参考方案1】:

我使用广播接收器执行此操作我设置了每 60 秒重复广播一次

像这样:

Intent notificationIntent = new Intent(context,thebroadcastclass.class);
        notificationIntent.addCategory("android.intent.category.HIGH");
        broadcast = PendingIntent.getBroadcast(context.getApplicationContext(), 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),60000, broadcast);

工作正常,但间隔必须至少为 60 秒 (它会消耗太多电池)

这是广播接收器:

public class thebroadcastclass extends BroadcastReceiver 
    @Override
    public void onReceive(Context context, Intent intent) 
        toastmaker.update(context, intent);
    

希望你能用这个(:

【讨论】:

以上是关于如何在设备处于睡眠模式时的某个特定时间在 android 中推送本地通知的主要内容,如果未能解决你的问题,请参考以下文章

当移动设备处于睡眠模式或浏览器处于后台时,如何使用 Web 应用程序在移动浏览器中使用 HTML Geolocation API 获取位置?

Android 在设备处于睡眠状态时获取 GPS 坐标更新(屏幕已关闭)

设备处于睡眠模式时不会出现 Android GCM 通知

您能否以编程方式检查以确定您的 android 设备是不是处于深度睡眠模式?

如果用户没有响应,qt 中是不是有任何 api 或方法可以在特定时间后将设备置于睡眠模式?

iphone 处于睡眠模式时,iphone 应用程序延迟 10 -15 分钟