手机网站外链巢湖网站设计
news/
2025/9/30 16:56:06/
文章来源:
手机网站外链,巢湖网站设计,做网站推广广告,网站建设126屏幕锁#xff0c;就是锁住屏幕不让用户误触摸#xff0c;从开发者的角度看就是不响应用户的点击事件。
屏幕锁界面
可以自己创建一个布局文件#xff0c;或者直接创建一个View#xff08;例如ImageView#xff09;。
参数LayoutParams mLayoutParams new LayoutParam…屏幕锁就是锁住屏幕不让用户误触摸从开发者的角度看就是不响应用户的点击事件。
屏幕锁界面
可以自己创建一个布局文件或者直接创建一个View例如ImageView。
参数LayoutParams mLayoutParams new LayoutParams();mLayoutParams.width LayoutParams.MATCH_PARENT;mLayoutParams.height LayoutParams.MATCH_PARENT;mLayoutParams.type LayoutParams.TYPE_SYSTEM_ERROR;mLayoutParams.flags 1280;
添加到视图
然后使用WindowManager的addView方法添加到window即可。
mWindowManager.addView(mScreenLockView, mLayoutParams);
缺陷
但是这样之后其实还有个问题就是手势导航为手势导航的时候就是不是三按钮导航的时候它还是能响应。所以还是需要拦截手势导航的点击事件。
解决方法
在packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/quickstep/TouchInteractionService.java
的onInputEvent方法拦截即可 private void onInputEvent(InputEvent ev) {if (开启了屏幕锁) {return;}......}
至于为什么是在这拦截可以看这篇文章
Android 10 手势导航源码分析_android framework 手势导航源码-CSDN博客
消费者
这里只是对上面那篇文章的一个记录。
其中OverviewInputConsumer是在桌面或者最近任务界面处理事件的消费者OtherActivityInputConsumer是非桌面情况下出现的事件消费者OverviewWithoutFocusInputConsumer是在桌面resumed但是没有焦点的时候的事件消费者例如桌面上有dialog之类的。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923080.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!