我有一个很奇怪的问题,一个唤醒的图书馆和唤醒。
在我的应用程序中,我使用cwac定期从web服务器下载数据,这很好。但是当我在应用程序中的某个地方获得一个唤醒(即使设置警报被取消),cwac-wakeful开始表现得有点奇怪--它每5分钟(14:00,14:05)全时启动一项工作,而不考虑设置重复间隔。
释放唤醒锁没有效果,唯一的修复方法是完全重新启动应用程序。
我知道cwac-wakeful在执行一项工作时会利用清醒时间,所以问题就在这里。
下面是一个实现AlarmListener.的类
public class ServiceWaker implements WakefulIntentService.AlarmListener
{
private static final Logger log = Logger.getLogger(ServiceWaker.class);
public ServiceWaker()
{
log.info("New ServiceWaker");
}
@Override
public void scheduleAlarms(AlarmManager alarmManager, PendingIntent pendingIntent, Context context)
{
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
long syncFrequency = Long.parseLong(prefs.getString("sync_frequency", "1"));
syncFrequency = syncFrequency * 60 * 1000;
log.info("Alarm scheduled with a repeat interval:" + syncFrequency);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime()+60000, syncFrequency, pendingIntent);
}
@Override
public void sendWakefulWork(Context context)
{
log.info("Sent wakeful work");
WakefulIntentService.sendWakefulWork(context, CheckServiceWakeful.class);
}
@Override
public long getMaxAge()
{
return AlarmManager.INTERVAL_FIFTEEN_MINUTES*2;
}
}
详细信息:
发布于 2015-05-25 10:24:51
迟答,但我发现解决办法后忘了寄出去。
问题是我的手机里有个能源经理。我有三个电池计划:
“聪明”计划负责这一问题。正如我在某个地方看到的,当设置为active时,系统尝试批处理唤醒锁和网络任务,因此移动设备不会被持续唤醒。因此,我的任务被重新安排了更长的时间,以便每隔15分钟运行一次另一个任务。
https://stackoverflow.com/questions/23495640
复制相似问题