// ブロードキャストリスナー
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 件のコメント:
コメントを投稿