全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

完美解决android M上锁屏情况下,禁止pc通过MTP访问手机存储单元

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小时内与您取得联系。