BroadcastReceiver
特定のプラットフォームで変更された時間のみを登録したい状況があります。context.registerReceiver
パフォーマンス上の理由から、必要なプラットフォームでのみメソッドを介してレシーバーを動的に登録したいと思います。アプリの初回実行時にプラットフォームを検出し、このイベントをリッスンするかどうかを決定できます。
このアプローチをテストしているときにcontext.registerReceiver
、プロセスが実行されていない場合、アプリケーションを介して登録するときに目が覚めないことがわかりました。
これは予期されたものですか?それを回避するための設定はありますか?
IntentFilter filter = new IntentFilter(Intent.ACTION_TIME_CHANGED);
this.getApplicationContext().registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.e("MYTAG", "Received Broadcast from dyn one");
}
}, filter);