我正在使用警報管理器每隔40秒觸發一次意向服務。下面的代碼是我如何觸發警報並啓動服務。我知道警報並非總是在40秒後觸發,而且可能會有所不同。AlarmManager在5分鐘後觸發,但未在所需時間觸發
但是我得到了一個報警變化很大的情況,並且每隔5分鐘就會持續觸發一次。
啓動報警:
Intent alarmIntent = new Intent(context, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, 0);
AlarmManager manager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
long interval = 40000;
manager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), interval, pendingIntent);
報警接收機:
@Override
public void onReceive(Context arg0, Intent arg1)
{
globalVariables.DebugLogging("IsSignedIn: "+GlobalVariables.IsSignedIn+" -DownloadServiceCanStart:- "+GlobalVariables.DownloadServiceCanStart);
if(GlobalVariables.IsSignedIn)
{
if (GlobalVariables.DownloadServiceCanStart)
{
GlobalVariables.DownloadServiceCanStart=false;
Intent intent = new Intent(arg0, DownloadService.class);
context.startService(intent);
}
}
}
任何人都可以幫助我? –
這是一個Android錯誤。我假設你有一個三星設備。很多這是製造商依賴和三星似乎喜歡使用5分鐘的重複。請參閱https://code.google.com/p/android/issues/detail?id=211988&thanks=211988&ts=1464886635 –