1、问题解决主要文件:/m8976/packages/providers/MediaProvider/src/com/android/providers/media/MtpService.java

需要在MtpService.java中updateDisabledStateLocked 方法添加锁屏情况限制:
final KeyguardManager keyguardManager = (KeyguardManager) getSystemService(
Context.KEYGUARD_SERVICE);
mMtpDisabled = (keyguardManager.isKeyguardLocked() && keyguardManager.isKeyguardSecure()) || !mUnlocked || !isCurrentUser;
只要锁屏,mMtpDisabled就设置为true。
这样就实现该功能。
2、当解锁时,自动加载手机存储单元:
添加解锁监听
+ private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ final String action = intent.getAction();
+ if (Intent.ACTION_USER_PRESENT.equals(action)) {
+ // If the media scanner is running, it may currently be calling
+ // sendObjectAdded/Removed, which also synchronizes on mBinder
+ // (and in addition to that, all the native MtpServer methods
+ // lock the same Mutex). If it happens to be in an mtp device
+ // write(), it may block for some time, so process this broadcast
+ // in a thread.
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ synchronized (mBinder) {
+ // Unhide the storage units when the user has unlocked the lockscreen
+ if (mMtpDisabled) {
+ addStorageDevicesLocked();
+ mMtpDisabled = false;
+ }
+ }
+ }}, "addStorageDevices").start();
+ }
+ }
+ };
Android M上发送解锁状态的广播code没有去除,可以查看/m8976/frameworks/base/packages/SystemUI/src/com/android /systemui/keyguard/KeyguardViewMediator.java
在KeyguardViewMediator.java文件中可以看出,在解锁时,发送Intent.ACTION_USER_PRESENT广播,然后在MtpService.java
进行接收,对mMtpDisabled进行处理。
以上这篇完美解决android M上锁屏情况下,禁止pc通过MTP访问手机存储单元就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# android锁屏
# mtp存储
# 解锁
# 给大家
# 希望能
# 可以看出
# 这篇
# 设置为
# 小编
# 大家多多
# 可以查看
# 情况下
# 自动加载
# getAction
# true
# action
# isCurrentUser
# amp
# isKeyguardLocked
# isKeyguardSecure
# mMtpDisabled
# mUnlocked
相关文章:
微信推文制作网站有哪些,怎么做微信推文,急?
宝塔建站无法访问?如何排查配置与端口问题?
制作网站怎么制作,*游戏网站怎么搭建?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
西安大型网站制作公司,西安招聘网站最好的是哪个?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
微课制作网站有哪些,微课网怎么进?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
个人摄影网站制作流程,摄影爱好者都去什么网站?
seo网站制作优化,网站SEO优化步骤有哪些?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
长沙企业网站制作哪家好,长沙水业集团官方网站?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
零服务器AI建站解决方案:快速部署与云端平台低成本实践
建站之星官网登录失败?如何快速解决?
山东网站制作公司有哪些,山东大源集团官网?
官网网站制作腾讯审核要多久,联想路由器newifi官网
建站之星安全性能如何?防护体系能否抵御黑客入侵?
如何在Windows虚拟主机上快速搭建网站?
广州商城建站系统开发成本与周期如何控制?
如何快速上传自定义模板至建站之星?
如何使用Golang table-driven基准测试_多组数据测量函数效率
音乐网站服务器如何优化API响应速度?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
网站代码制作软件有哪些,如何生成自己网站的代码?
Python文件管理规范_工程实践说明【指导】
临沂网站制作公司有哪些,临沂第四中学官网?
C++如何使用std::optional?(处理可选值)
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
如何在阿里云服务器自主搭建网站?
如何零基础在云服务器搭建WordPress站点?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
5种Android数据存储方式汇总
建站之星如何开启自定义404页面避免用户流失?
建站之星代理如何获取技术支持?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
网页设计与网站制作内容,怎样注册网站?
高性价比服务器租赁——企业级配置与24小时运维服务
建站之星多图banner生成与模板自定义指南
网站制作网站,深圳做网站哪家比较好?
如何选择美橙互联多站合一建站方案?
长沙做网站要多少钱,长沙国安网络怎么样?
清除minerd进程的简单方法
开源网站制作软件,开源网站什么意思?
成都网站制作报价公司,成都工业用气开户费用?
代刷网站制作软件,别人代刷火车票靠谱吗?
*请认真填写需求信息,我们会在24小时内与您取得联系。