Android判斷屏幕開關狀態
方法一:使用系統服務
PowerManager pm= (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); if(!pm.isScreenOn()) { //熄屏狀態 }方法二:使用廣播
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); }
注意:亮屏和熄屏廣播只能通過動態注冊才能收到。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答