android亮屏、暗屏、解锁、关闭系统对话的监听事件
16lz
2022-06-15
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.button_layuout); final IntentFilter filter = new IntentFilter(); // 屏幕灭屏广播 filter.addAction(Intent.ACTION_SCREEN_OFF); // 屏幕亮屏广播 filter.addAction(Intent.ACTION_SCREEN_ON); // 屏幕解锁广播 filter.addAction(Intent.ACTION_USER_PRESENT); // 当长按电源键弹出“关机”对话或者锁屏时系统会发出这个广播 // example:有时候会用到系统对话框,权限可能很高,会覆盖在锁屏界面或者“关机”对话框之上, // 所以监听这个广播,当收到时就隐藏自己的对话,如点击pad右下角部分弹出的对话框 filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() { @Override public void onReceive(final Context context, final Intent intent) { Log.d(TAG, "onReceive"); String action = intent.getAction(); if (Intent.ACTION_SCREEN_ON.equals(action)) { Log.d(TAG, "screen on"); } else if (Intent.ACTION_SCREEN_OFF.equals(action)) { Log.d(TAG, "screen off"); } else if (Intent.ACTION_USER_PRESENT.equals(action)) { Log.d(TAG, "screen unlock"); } else if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(intent.getAction())) { Log.i(TAG, " receive Intent.ACTION_CLOSE_SYSTEM_DIALOGS"); } } }; Log.d(TAG, "registerReceiver"); registerReceiver(mBatInfoReceiver, filter); }
更多相关文章
- android 通过构造创建进度对话框
- android 显示多选列表对话框
- 两种进度条对话框
- Android(安卓)简单的网络变化监听器
- android Dialog 底部弹出
- Android(安卓)下保持屏幕常亮的实现方法
- android的Android(安卓)中Intent和PendingIntent的区别(转)
- android中获得屏幕、视图、任务栏、状态栏的高宽以及屏幕的设置
- android UI进阶之弹窗的使用