AlarmManager больше не запускает мою фоновую службу, если приложение будет убито (Taskmanager — выход из приложения)

#android #android-service #android-alarms

#Android #android-сервис #android-сигналы тревоги

Вопрос:

Друзья,

у меня есть действие, которое настраивает AlarmManager. Alarmmanager должен вызвать backgroundservice в определенный промежуток времени. Все работает идеально, пока я не убью приложение с помощью приложения Android Taskmanager — exit. Тогда больше ничего не происходит. Есть ли какой-нибудь способ избежать потери сигналов тревоги???

Вот моя деятельность по настройке будильника

 PendingIntent pi;
AlarmManager mgr;
mgr=(AlarmManager)ctx.getSystemService(Context.ALARM_SERVICE);
Intent i=new Intent(DataCollectionActivity.this, HUJIDataCollectionService.class);
pi = PendingIntent.getService(DataCollectionActivity.this, 0, i, 0);
mgr.cancel(pi);
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() , 1* 60* 1000, pi);
  

Служба — это просто обычное действие, расширяющее службу,

и вот мой файл манифеста

 <service android:name=".services.HUJIDataCollectionService" android:process=":remote"/>   
<activity android:name=".activities.DataCollectionActivity"  
           android:label="@string/app_name" android:screenOrientation="portrait">
  <intent-filter>
     <action android:name="com.sheep.activities.DataCollectionActivity" />
     <category android:name="android.intent.category.DEFAULT" />
  </intent-filter>
  

ценю вашу помощь!!!

Ответ №1:

Все работает идеально, пока я не убью приложение с помощью приложения Android Taskmanager — exit. Тогда больше ничего не происходит.

Это определенно происходит на Android 2.1 и более ранних версиях. Связанный эффект (предотвращение получения широковещательных сообщений) влияет на Android 3.1 .

Есть ли какой-нибудь способ избежать потери сигналов тревоги???

Не убивайте приложение с помощью task killer или принудительной остановки из настроек.