English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Androidのスクリーンオンオフ状態を判定
方法一:使用系统服务
PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); if(!pm.isScreenOn()) { //消灯状態 }
方法2:バッジラウンドを使用
public class ScreenReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { //亮灯状態のバッジラウンドを受け取ります } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) { //消灯状態のバッジラウンドを受け取ります } } }
//バッジラウンド登録 ScreenReceiver sOnBroadcastReciver=new ScreenReceiver(); IntentFilter recevierFilter=new IntentFilter(); recevierFilter.addAction(Intent.ACTION_SCREEN_ON); recevierFilter.addAction(Intent.ACTION_SCREEN_OFF); registerReceiver(sOnBroadcastReciver, recevierFilter); //登録解除 if(sOnBroadcastReciver!=null) { unregisterReceiver(sOnBroadcastReciver); }
注意:光を当てた状態と消灯状態のバッジラウンドは動的に登録する必要があります。
読んでいただきありがとうございます。皆様のサポートに感謝します!