友
我有一个设置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>
感谢您的帮助!
答案 0 :(得分:1)
一切都很完美,直到我用Android Taskmanager退出应用程序 - 退出应用程序。然后没有任何事情发生了。
这肯定发生在Android 2.1及更早版本上。相关效果(阻止广播被接收)会影响Android 3.1 +。
有没有办法避免丢失警报???
请勿在设置中使用任务杀手或强制停止来终止应用程序。