我已经阅读了这个AlarmManager
,但它对我来说仍然有点混乱。
所以我的应用程序中有一个Service
,我想一直运行它(它是一个药用应用程序,所以它应该通知用户一直使用它),但是即使它Service
, Android会不时杀死,所以我希望安排以 30分钟的间隔重新创建>强>,然后再安排。我该怎么办?
答案 0 :(得分:1)
对于已启动的服务,他们可以决定运行另外两种主要操作模式,具体取决于它们从onStartCommand()返回的值:START_STICKY用于根据需要显式启动和停止的服务,而START_NOT_STICKY或START_REDELIVER_INTENT用于在处理发送给它们的任何命令时应保持运行的服务。有关语义的更多详细信息,请参阅链接的文档。
http://developer.android.com/reference/android/app/Service.html
答案 1 :(得分:0)
研究此link ...以实施如何创建警报管理器
创建警报管理员类
private AlarmManager alarmMgr;
private PendingIntent alarmIntent;
alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver.class);
alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
// Set the alarm to start at 8:30 a.m.
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 8);
calendar.set(Calendar.MINUTE, 30);
// setRepeating() lets you specify a precise custom interval--in this case,
//20 minutes.
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
1000 * 60 * 20, alarmIntent);
添加此信息
<receiver android:name=".SampleBootReceiver"
android:enabled="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
希望这会对你有所帮助。