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


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

 

此種情況需要動態注冊系統廣播。在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-屏幕暗了"); } } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM