美文网首页
android 监听屏幕亮灭屏事件

android 监听屏幕亮灭屏事件

作者: Ed_Lannister | 来源:发表于2018-09-07 10:47 被阅读55次

         动态监听屏幕亮灭屏广播

    package com.qiyi.screenonofftest;
    
    import android.app.Service;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.os.IBinder;
    
    public class detective extends Service {
        public detective() {
        }
    
        @Override
        public IBinder onBind(Intent intent) {
            return null;
        }
    
        public void onCreate() {
            super.onCreate();
            /* 注册屏幕唤醒时的广播 */
            IntentFilter mScreenOnFilter = new IntentFilter("android.intent.action.SCREEN_ON");
            detective.this.registerReceiver(mScreenOReceiver, mScreenOnFilter);
    
            /* 注册机器锁屏时的广播 */
            IntentFilter mScreenOffFilter = new IntentFilter("android.intent.action.SCREEN_OFF");
            detective.this.registerReceiver(mScreenOReceiver, mScreenOffFilter);
        }
    
        public void onDestroy() {
            super.onDestroy();
            detective.this.unregisterReceiver(mScreenOReceiver);
        }
    
        private BroadcastReceiver mScreenOReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
    
                if (action.equals("android.intent.action.SCREEN_ON")) {
                        System.out.println("—— SCREEN_ON ——");
                } else if (action.equals("android.intent.action.SCREEN_OFF")) {
                        System.out.println("—— SCREEN_OFF ——");
                }
            }
    
        };
    }
    

        手动启动服务

    //替换相应服务名和包名
     adb shell am startservice -n com.qiyi.screenonofftest/com.qiyi.screenonofftest.detective
    

    相关文章

      网友评论

          本文标题:android 监听屏幕亮灭屏事件

          本文链接:https://www.haomeiwen.com/subject/cenqgftx.html