0

アプリケーションを拡張するクラスがあります。このクラスでは、AlarmManager を呼び出してインテントを渡します。スケジュールどおり、BroadcastReceiver を拡張する EventReceiver クラスは、onReceive メソッドで呼び出しを処理します。onReceive メソッドから再度インテントを呼び出して、別のイベントをスケジュールするにはどうすればよいですか?

4

2 に答える 2

0
final Intent intent = new Intent(context, YourService.class);
final PendingIntent pending = PendingIntent.getService(context, 0, intent, 0);
final AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pending);
long interval = 30000;//milliseconds
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(),interval, pending);

より完全なサンプルは、Photostream サンプル アプリケーションhttp://code.google.com/p/apps-for-android/にあります。

于 2010-04-27T00:17:54.673 に答える
0

setRepeating()の代わりに, を使用set()して、自動的に繰り返すことができます。または、PendingIntent同等のものIntent(同じアクション、同じUri、同じコンポーネントなど) で別のものを作成するだけです。PendingIntent毎回元のオブジェクトは必要ありません。

于 2010-04-26T22:59:59.137 に答える