动态监听屏幕亮灭屏广播
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