// ブロードキャストリスナー BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action != null) { if (action.equals(Intent.ACTION_SCREEN_ON)) { // 画面ON時 Log.d(TAG, "SCREEN_ON"); } else if (action.equals(Intent.ACTION_SCREEN_OFF)) { // 画面OFF時 Log.d(TAG, "SCREEN_OFF"); } } } };作成したBroadcastReceiverでインテントを受け取るには、IntentFilterを使い対象を登録する必要があります。 画面の電源ON/OFFでは次の二つを登録すると良い。
// リスナーの登録 Context c; c.registerReceiver(broadcastReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON)); c.registerReceiver(broadcastReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF));また、受信するActivityまたはServiceのIntentFilterにも追加する。
なお、不要になったときは登録を削除します。
// リスナーの登録削除 Context c; c.unregisterReceiver(broadcastReceiver);
0 件のコメント:
コメントを投稿