1. 程式人生 > >Android 監聽屏幕喚醒和關閉的廣播

Android 監聽屏幕喚醒和關閉的廣播

n) 應用 dma 今天 new and androidm receive err

今天希望應用程序的服務運行時,可以監聽到屏幕的喚醒。繼續百度學習法,連同監聽閉幕關閉也一同學習了。

此種情況需要動態註冊系統廣播。在AndroidManifest.xml中靜態註冊的實際運行中無效。

private ScreenStatusReceiver mScreenStatusReceiver;

在需要的地方調用如下函數:

    private void registSreenStatusReceiver() {
        mScreenStatusReceiver = new ScreenStatusReceiver();  
        IntentFilter screenStatusIF 
= new IntentFilter(); screenStatusIF.addAction(Intent.ACTION_SCREEN_ON); screenStatusIF.addAction(Intent.ACTION_SCREEN_OFF); registerReceiver(mScreenStatusReceiver, screenStatusIF); }

使用結束後,註銷:

unregisterReceiver(mScreenStatusReceiver); 

ScreenStatusReceiver類:

    class ScreenStatusReceiver extends BroadcastReceiver {
        String SCREEN_ON = "android.intent.action.SCREEN_ON";
        String SCREEN_OFF = "android.intent.action.SCREEN_OFF";
 
        @Override
        public void onReceive(Context context, Intent intent) {
            if (SCREEN_ON.equals(intent.getAction())) {
                 Log.w("ppp","ppp-屏幕亮了");
            }
            
else if (SCREEN_OFF.equals(intent.getAction())) {
Log.w("ppp","ppp-屏幕暗了"); } } }

Android 監聽屏幕喚醒和關閉的廣播