0

朋友们,

我有一个设置 AlarmManager 的活动。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 扩展服务,

这里是我的清单文件

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

感谢你的帮助!!!

4

1 回答 1

1

一切正常,直到我用 Android Taskmanager 杀死应用程序 - 退出应用程序。然后什么都没有发生了。

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

有什么办法可以避免丢失警报???

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

于 2011-11-03T14:15:46.270 回答