当我希望服务每 5 分钟运行一次而不需要重新启动时,我应该在广播接收器中使用哪个意图过滤器?
问问题
283 次
1 回答
1
使用 AlarmManager 的示例
设置闹钟
private void setAlarm(Context ctx, long timeToRestoreLivesInMillis) {
int perion = 1000;
AlarmManager am = (AlarmManager)ctx.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(ctx, OnAlarmReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(ctx, 0, i, 0);
am.set(AlarmManager.RTC_WAKEUP, period, pi);
}
和一些接收者将收到一个意图
public class OnAlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// do something
}
}
并且不要忘记在Manifest.xml
<receiver
android:name=".utils.OnAlarmReceiver"
android:enabled="true"
android:exported="false" >
</receiver>
阅读文档以获取方法解释,我很久以前就使用过它。
于 2013-01-13T13:32:59.877 回答