●画面の電源ON/OFFなどのOSのイベント


intentのブロードキャストアクションの仕組みによりOSのイベントを取得します。
下の例では電源ボタンを押すことによって画面を消したり表示したりする時のイベントをOSから受け取ります。


getApplicationContext().registerReceiver(new android.content.BroadcastReceiver() {
    @Override
    public void onReceive(android.content.Context context, android.content.Intent intent) {
        画面の電源ON
    }
}, new android.content.IntentFilter(android.content.Intent.ACTION_SCREEN_ON));


getApplicationContext().registerReceiver(new android.content.BroadcastReceiver() {
    @Override
    public void onReceive(android.content.Context context, android.content.Intent intent) {
        画面の電源OFF
    }
}, new android.content.IntentFilter(android.content.Intent.ACTION_SCREEN_OFF));

▼ちなみに、プログラム中でON・OFFを知りたいのみの場合は次のようにします。

android.content.Context context=getApplicationContext();
android.os.PowerManager pm = (android.os.PowerManager) getSystemService(context.POWER_SERVICE);

if(pm.isScreenOn()){
    //画面がONの場合
}


▲トップページ > android