我有一个我编写的Android应用程序,它使用AlarmManager启动服务以获取一些用户信息(日期,时间,地理位置)并将这些数据发送到互联网服务器。
它在Android 5中运行正常,但7天后,由S.O安排的任务由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);
}
答案 0 :(得分:1)
使用
void setInexactRepeating(int type, long triggerAtMillis, 长间隔米利斯, PendingIntent操作)
而不是setRepeating()