androidの亮屏,灭屏,解锁广播使用

1. 亮屏广播的接收

不需要添加权限那些,我在xml 中配置action 都是不生效的,没有接收到广播。
//亮屏监听private BroadcastReceiver receiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {if (Intent.ACTION_SCREEN_ON.equals(intent.getAction())) {    Log.e(TAG, "亮屏啦,,");}}};
注意:但是注册广播时候需要代码java 动态注册否则监听不到。
//注册亮屏广播IntentFilter filter = new IntentFilter();filter.addAction(Intent.ACTION_SCREEN_ON);registerReceiver(receiver, filter);

2. 灭屏(锁屏)的广播同上

filter.addAction(Intent.ACTION_SCREEN_OFF);
然后监听
(Intent.ACTION_SCREEN_OFF.equals(intent.getAction())) 即可 注意:也是需要动态注册广播才能接受到的。 对于这两个action:
android.intent.action.SCREEN_OFF
android.intent.action.SCREEN_ON
在AndroidManifest.xml中注册是不可以的。
这有点不同于其他的action,你只有在Service中通过动态注册去监听这个事件。
这个问题我的理解是google故意这么做的,有两点考虑:
1.提高监听screen_on screen_off门槛
这两个事件是android的基本事件,如果呗大多数程序监听,会大大的拖慢整个系统,所以android也应该不鼓励我们在后台监听这两个事件。
2.有让我们在service后台监听
这也是提供了一个解决问题,强调和service共存亡,不会一直在后台无限情运行。

3.解锁广播

filter.addAction(Intent.ACTION_USER_PRESENT);
if(Intent.ACTION_USER_PRESENT.equals(intent.getAction()))
解锁或者可以使用xml 配置
                                                 
然后广播监听
public class UserpresentReceiver extends BroadcastReceiver{private String TAG="UserpresentReceiver";@Overridepublic void onReceive(Context context, Intent intent) {String action=intent.getAction();Log.e(TAG, "action="+action);    if (Intent.ACTION_USER_PRESENT.equals(intent.getAction())) {    Log.e(TAG, "竟然可以解锁");}}}




更多相关文章

  1. Android的framework层音量控制原理分析--hot(key)处理
  2. Android(安卓)webview监听网页对话框点击事件
  3. 【android】下载大文件保持wifi网络连接
  4. Android四大基本组件介绍与生命周期
  5. android HorizontalScrollView实现滚动监听
  6. 系出名门Android(4) - 活动(Activity), 服务(Service), 广播(Bro
  7. android学习笔记36:消息提示
  8. android拦截短信并屏蔽系统的Notification
  9. Android基于XMPP Smack Openfire开发IM【三】客户端接收服务器发

随机推荐

  1. 2.4.6 星级评分条
  2. Android学习札记8:对TextView中的文字中间
  3. Android获取屏幕分辨率 dp pix转换
  4. Android(安卓)给图片、文字、控件、布局
  5. [置顶] Android相关网络资源整理
  6. Android碎碎念 -- ButterKnife注解的使用
  7. binder机制底层驱动浅析
  8. 新建arcgis api for android 项目失败
  9. 【AR系列2】vuforia + unity + unity for
  10. Android Fragment学习笔记