我有一个服务“GroupsTaskAlarmChecker”,它由GroupsManager在onCreate的Groups.class活动中每隔20秒调用一次:
int seconds = 20; Intent myIntent = new Intent(Groups.this,GroupsTaskAlarmChecker.class); pendingIntent = PendingIntent.getService(Groups.this,myIntent,0); AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.SECOND,10); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),seconds * 1000,pendingIntent);
这非常有效.但是我需要在设备启动时这样做.
然后我知道我必须像这样制作AndroidManifest:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <receiver android:name=".ReceiverBoot"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"> <category android:name="android.intent.category.HOME"> </category></action></intent-filter> </receiver>
然后mi broadcastReceiver像这样:
public class ReceiverBoot extends broadcastReceiver { @Override public void onReceive(Context context,Intent intent) { int seconds = 20; Intent myIntent = new Intent(context,GroupsTaskAlarmChecker.class); pendingIntent = PendingIntent.getService(context,0); AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.SECOND,10); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,pendingIntent); } }
但是在这个onReceive里面我不知道我怎么能像以前那样做(使用intent和alarmManager每20秒启动一次服务).
这行错误:
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
有可能我无法在broadcastReceiver中创建一个AlarmManager吗?
我感谢你们所有人,我是一个Android问候者,我需要你的帮助.对不起我的英语不好
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。