利用廣播監聽手機解鎖和鎖屏的操作
阿新 • • 發佈:2019-02-12
##利用廣播監聽手機解鎖、鎖屏和亮屏的操作
public class MainActivity extends Activity {
BroadcastReceiver receiver;
private static String TAG = "MyLog";
private ScreenListener MyListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TestBroadReceiver();
IntentFilter filter = new IntentFilter();//定義一個意圖攔截
filter.addAction(Intent.ACTION_SCREEN_ON);//新增要攔截的動作
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_USER_PRESENT);
registerReceiver(receiver, filter);//註冊廣播
}
public void TestBroadReceiver() {
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// TODO Auto-generated method stub
if (Intent.ACTION_SCREEN_ON.equals(action)) { // 開屏
//攔截事件後可在此操作
Log.i(TAG, "開屏");
} else if (Intent.ACTION_SCREEN_OFF.equals(action)) { // 鎖屏
//攔截事件後可在此操作
Log.i(TAG, "鎖屏");
} else if (Intent.ACTION_USER_PRESENT.equals(action)) { // 解鎖
//攔截事件後可在此操作
Log.i(TAG, "解鎖");
}
}
};
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(receiver);//銷燬頁面時登出廣播
}
}