1

再起動せずにサービスを 5 分ごとに実行したい場合、ブロードキャスト レシーバーで使用するインテント フィルターはどれですか?

4

1 に答える 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 に答える