android 监听屏幕亮灭屏事件

     动态监听屏幕亮灭屏广播

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • /谷宁 1. 噼里啪啦的,不是雷声,是柴火爆裂的声音 稀里哗啦的,也不是雨声,是加水的声音 这是我在熬夜,水一样的...
    谷宁阅读 374评论 2 3
  • 你的短信上是这样。 “饭已经做好,你慢慢回来。” “啊,就这么简单?” 摸着她的头说。 “饭已经做好,你慢慢回来,...
    唐诗远打草稿小号阅读 202评论 0 0
  • 我是袁博QQ/微信:380494351 做互联网公司有很多年了,一直做在线培训项目。 好的,废话不多说,下面写一下...
    袁博运营笔记阅读 2,665评论 0 4