如果应用程序被杀死,AlarmManager不再启动我的后台服务(Taskmanager - 退出应用程序)

时间:2011-11-03 13:48:42

标签: android android-service android-alarms

我有一个设置AlarmManager的Activity。 Alarmmanager应该在某个时间段内调用后台服务。一切都很完美,直到我用Android Taskmanager退出应用程序 - 退出应用程序。然后没有任何事情发生了。 有没有办法避免失去警报?

继承我设置闹钟的活动

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);

该服务只是一个常规的Activity extends Service,

这里是我的清单文件

<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 个答案:

答案 0 :(得分:1)

  

一切都很完美,直到我用Android Taskmanager退出应用程序 - 退出应用程序。然后没有任何事情发生了。

这肯定发生在Android 2.1及更早版本上。相关效果(阻止广播被接收)会影响Android 3.1 +。

  

有没有办法避免丢失警报???

请勿在设置中使用任务杀手或强制停止来终止应用程序。