Broadcastreceiver意图过滤器

时间:2013-01-13 13:07:17

标签: android intentfilter

当我希望服务每5分钟运行一次时,我应该在广播接收器中使用哪个意图过滤器,而无需重启。我希望你能理解吗?

由于

1 个答案:

答案 0 :(得分: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>

阅读方法解释的文档,我很久以前就已经使用过了。