English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Android Screen On/Off Status Detection
Method One: Use System Service
PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); if(!pm.isScreenOn()) { //Screen off state }
Method two: Use broadcast
public class ScreenReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { //Received screen on broadcast } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) { //Received screen off broadcast } } }
//Register Broadcast ScreenReceiver sOnBroadcastReciver=new ScreenReceiver(); IntentFilter recevierFilter=new IntentFilter(); recevierFilter.addAction(Intent.ACTION_SCREEN_ON); recevierFilter.addAction(Intent.ACTION_SCREEN_OFF); registerReceiver(sOnBroadcastReciver, recevierFilter); //Unregister if(sOnBroadcastReciver!=null) { unregisterReceiver(sOnBroadcastReciver); }
Note: Broadcasts for screen on and screen off can only be received through dynamic registration.
Thank you for reading, I hope it can help everyone. Thank you for your support to our website!