постановка повторной задачи в задаче AlarmManager - PullRequest
0 голосов
/ 18 августа 2011

Я пытаюсь установить повторяющуюся задачу с помощью AlarmManager

задача состоит в том, чтобы отправить широковещательную рассылку моему BroadcastReciever, который запускает службу (если это еще не сделано)

это код, который устанавливает повторяющуюся задачу:

alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 10000 , 60 * 1000 , pendingIntent);

теперь повторяющаяся задача работает нормально, но если мое приложение все еще работает, и я его прекращаю, я больше не получаю трансляцию.

что я тут не так делаю?

редактирование:

манифест: (только соответствующая часть)

<service android:name=".TQService"/>
<receiver android:name=".TQServiceManager"
            android:process=":remote">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
    <intent-filter>
        <action android:name="com.xxxxx.tq.TQServiceManager"></action>
    </intent-filter>
</receiver>

код:

PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent("com.xxxxx.tq.TQServiceManager"), PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 1000 , 30 * 1000 , pendingIntent);

1 Ответ

1 голос
/ 18 августа 2011

Как зарегистрирован ваш BroadcastReceiver?Он должен быть в вашем файле AndroidManifest.xml и не зарегистрирован вручную.Тот факт, что оно работает, когда ваше приложение работает, и не работает, когда ваше приложение не работает, звучит так, как будто его нет в манифесте.

...