Android 不同的计划任务';行为
我有一段代码,它将任务安排为每10秒(3,5,20,60,没关系)重复一次,使用以下类:Android 不同的计划任务';行为,android,alarmmanager,intentservice,Android,Alarmmanager,Intentservice,我有一段代码,它将任务安排为每10秒(3,5,20,60,没关系)重复一次,使用以下类: AlarmManager+BroadcastReceiver+IntentService 在SDK Emulator(4.2.2)上,它运行良好 07-12 09:02:32.257: INFO/Alarm Receiver(1827): Entered 07-12 09:02:42.256: INFO/Alarm Receiver(1827): Entered 07-12 09:02:52.275: IN
AlarmManager+BroadcastReceiver+IntentService
在SDK Emulator(4.2.2)上,它运行良好
07-12 09:02:32.257: INFO/Alarm Receiver(1827): Entered
07-12 09:02:42.256: INFO/Alarm Receiver(1827): Entered
07-12 09:02:52.275: INFO/Alarm Receiver(1827): Entered
但是在我的手机上,小米米-2S(4.1.1)
每5分钟发射一次
07-12 16:06:07.044: INFO/Alarm Receiver(5632): Entered
07-12 16:11:06.874: INFO/Alarm Receiver(5632): Entered
07-12 16:16:06.864: INFO/Alarm Receiver(5632): Entered
有什么问题吗
upd。这是密码
活动
public void startSchedule
{
AlarmManager am = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(getApplicationContext(), MyReceiver.class);
final PendingIntent pIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 10*1000, pIntent);
}
public void endSchedule
{
AlarmManager am = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(getApplicationContext(), MyReceiver.class);
final PendingIntent pIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
am.cancel(pIntent);
}
广播接收机
@Override
public void onReceive(Context context, Intent intent)
{
Log.i("Alarm Receiver", "Entered");
context.startService(inService);
}
IntentService暂时清空
@Override
protected void onHandleIntent(Intent arg0)
{
// Do some task
}
这是小米v5固件的一个bug! 我已经找到了一个让我的应用程序工作的变通方法,但我认为醒来会有问题。我用
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), 5 * 1000, pendingIntent);
而不是
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), 5 * 1000, pendingIntent);
请告诉我们您的代码:)这不是代码问题!在我的平板电脑上试用,运行ICS4.0.3,得到了预期的结果:每10秒记录一次。所以我想这是我手机的问题。我真的不知道该在哪里发布这个问题。)此外,我尝试每6分钟将AlarmManager设置为启动!在有问题的手机上,在这种情况下每10分钟就会触发一次