Android 监听屏幕唤醒和关闭的广播

Posted 云中雀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-屏幕暗了"); } } }

 

以上是关于Android 监听屏幕唤醒和关闭的广播的主要内容,如果未能解决你的问题,请参考以下文章

Android8.0限制隐式广播的原因和解决方案

开启/唤醒屏幕一段时间

应用程序关闭时如何接收 Android Nougat 网络丢失的回调?

android 监听屏幕是不是被触碰过?

Android实战开发篇 双服务加时间广播和屏幕关闭解锁广播保护APP存活

如何在睡眠模式下唤醒 Android Wear?