2

拡張する単一のクラスがBroadcastReceiverあり、onReceiveこのクラスのメソッドに次のコードがあります。

Intent autoBoostIntent = new Intent();
autoBoostIntent.setAction(Values.ACTION_AUTO_BOOST);
context.sendBroadcast(autoBoostIntent);

これは、同じBroadcastReceiverクラスを特定ので何度も呼び出すという目的を果たしますaction。問題は、上記の手順を遅らせたいので、たとえばブロードキャストが10秒ごとに送信されることです。これは可能ですか?

編集:デバイスが起動している(キーボードのロックが解除されている)かどうかに関係なく、ブロードキャストを無期限にループさせたい。

4

1 に答える 1

1

簡単に言うと、コードにを追加するだけでThread.sleep(10000)、スレッドは次のアクションに進む前に10秒間スリープ状態になります。

ただし、使用している場合は、 AlarmManagerBroadcastReceiversクラスを使用するようにアプリケーションを拡張できます。これにより、設定された時間にブロードキャストが開始されます(プログラムで10秒後に設定できます)。

または、ハンドラーを使用することもできます。

于 2013-02-04T00:21:03.977 に答える