【问题标题】:Android AlarmManager Issue - Samsung DeviceAndroid AlarmManager 问题 - 三星设备
【发布时间】:2017-04-17 10:49:36
【问题描述】:

我正在尝试使用具有 PendingIntent 的 AlarmManager 每 1 分钟运行一次服务。使用 setInexactRepeating 功能,我可以在除了 Samsung Device 之外的所有手机上运行该服务,到目前为止我已经测试过。

案例 1:Android 5.1 - 下面的代码在三星设备中每 1 分钟运行一次,后期变为 5 分钟间隔

案例 2:Android 6.0 - 下面的代码在三星设备中每 5 分钟运行一次,后期保持不变

alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, 1, 1000 * 60, alarmIntent);

三星 Android 5.1 - 日志

04-17 15:53:06.856 12381-13117/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:54:16.291 12381-13949/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:55:00.036 12381-14679/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:56:01.121 12381-15660/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:57:16.591 12381-16773/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:58:23.066 12381-17318/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 16:01:14.366 12381-19279/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 16:06:13.901 12381-25377/com.example.android.scheduler D/LL_LOG: loadFromNetwork

三星 Android 6.0 日志

04-17 15:27:18.621 12920-31956/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:32:18.681 12920-5003/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:37:18.651 12920-9665/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:42:18.641 12920-10642/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:47:18.831 12920-11739/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:52:18.741 15868-15882/com.example.android.scheduler D/LL_LOG: loadFromNetwork
04-17 15:57:18.661 15868-17146/com.example.android.scheduler D/LL_LOG: loadFromNetwork

注意:正如这里所说的 (AlarmManager not working on Samsung devices in Lollipop & Android exact Alarm is always 3 minutes off) 我已经关闭了 APP 优化。我的问题仍然存在。

我希望解决这个问题或任何替代方案,以相同的方式运行服务而不会耗尽电池。

【问题讨论】:

标签: android android-service alarmmanager samsung-mobile repeatingalarm


【解决方案1】:

由于各种省电机制,您不能在大多数现代设备上使用如此高频率的重复警报。每分钟唤醒您的设备会对电池寿命造成不利影响。

但是,如果您真的想这样做,则需要每次重新安排闹钟。无需安排重复警报,只需安排一个将在一分钟内响起的警报。当该警报响起时,执行您的处理,然后安排一个将在 1 分钟后响起的警报。这样你就可以得到准确的时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2013-04-20
    相关资源
    最近更新 更多