我有一个我写的 android 应用程序,它使用 AlarmManager 启动服务来获取一些用户信息(日期、时间、地理位置)并将这些数据发送到互联网服务器。
在Android 5上运行正常,但是7天后,AlarmManager调度的任务被S.O莫名其妙的停止了。
我又测试了几次,在不同的时间间隔出现了同样的问题。
此代码触发服务:
public void ativaPendingIntentTransmite(){
long tempoTransmite=System.currentTimeMillis();
Intent intentTransmite = new Intent(this, AlarmReceiverTransmite.class);
pendingIntentTransmite = PendingIntent.getBroadcast(this,111, intentTransmite, 0);
alarmManagerTransmite = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManagerTransmite.setRepeating(AlarmManager.RTC_WAKEUP, tempoTransmite+1000*60*1, 1000*60*intervaloDeEnvio, pendingIntentTransmite);
}
最佳答案
使用
void setInexactRepeating (int 类型, 长触发器AtMillis, 长间隔毫秒, PendingIntent 操作)
代替 setRepeating()
关于Android 5神秘杀死alarmmanager任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34510882/