Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 不同的计划任务';行为_Android_Alarmmanager_Intentservice - Fatal编程技术网

Android 不同的计划任务';行为

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

我有一段代码,它将任务安排为每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: 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分钟就会触发一次