如何在android中修复过多的唤醒

时间:2017-06-21 13:57:30

标签: android alarmmanager android-alarms repeatingalarm

最近我收到了Google Play商店(Android Vitals)的效果报告,报告如下

警报管理器唤醒过多 电池会话的百分比,在此期间用户每小时经历10次以上的唤醒。电池会话是设备的两次完全充电之间的时段。仅在设备关闭充电器时才会收集数据。

https://developer.android.com/topic/performance/vitals/wakeup.html

我尝试了上述想法,但我没有弄清楚如何修复过度唤醒

我的代码如下:

public void registerAlarm() 
{
    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Calendar alarmTime = Calendar.getInstance();
    PendingIntent poperation = PendingIntent.getService(this, 0, getIntentForNotification(this), 0);
    alarmManager.cancel(poperation);
    int currentapiVersion = android.os.Build.VERSION.SDK_INT;
    if (currentapiVersion < android.os.Build.VERSION_CODES.KITKAT) {
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime.getTimeInMillis(), 1 * 60 * 60 * 1000, poperation);
    } else {
        alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, alarmTime.getTimeInMillis(), 1 * 60 * 60 * 1000, poperation);
    }
}

注意:我在我的应用程序中使用WAKE_LOCK权限

0 个答案:

没有答案