我是靠谱客的博主 粗犷毛巾,最近开发中收集的这篇文章主要介绍android关闭存储,java-是否可以通过编程方式关闭Android设备上的USB存储设备?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我试图一遍又一遍地搜索,并感到困惑,我们是否可以控制USB存储而无需植根电话,如果可以的话?我尝试了以下方法来启用和禁用权限,但全部无效:

StorageManager storage = (StorageManager)getApplicationContext().getSystemService(STORAGE_SERVICE);

Method method = storage.getClass().getDeclaredMethod("enableUsbMassStorage");

method.setAccessible(true);

Object r = method.invoke(storage);

//And to disble mass storage:

StorageManager storage = (StorageManager) getApplicationContext().getSystemService(STORAGE_SERVICE);

Method method = storage.getClass().getDeclaredMethod("disableUsbMassStorage");

method.setAccessible(true);

Object r = method.invoke(storage);

如果有人对此有任何想法,请分享您的知识.

提前致谢.

解决方法:

您问题的简短答案是“否”.您不能以编程方式使用USB大容量存储权限.您也不会找到任何能可靠地对任何/所有手机执行此操作的Android应用.

默认情况下,Android框架不允许第三方应用程序以编程方式绕过USB存储权限.该选择始终留给用户,这是正确的方法.只需考虑一下:如果允许,任何第三方应用程序都可能滥用该许可并通过USB连接传输数据.

您尝试使用的方法假设我们知道相关方法的名称,并通过反射对其进行调用.这将对某些修改了基本框架并公开了相关API调用的OEM起作用.但是它假定您知道这些方法的名称,并且只能在现有大量Android手机模型中的一小部分上使用.它不适用于大多数手机,当然也不能用于具有原始Android OS源代码的所有Nexus设备.

就这些.

标签:reflection,android-permissions,android-usb,java,android

来源: https://codeday.me/bug/20191028/1950392.html

最后

以上就是粗犷毛巾为你收集整理的android关闭存储,java-是否可以通过编程方式关闭Android设备上的USB存储设备?的全部内容,希望文章能够帮你解决android关闭存储,java-是否可以通过编程方式关闭Android设备上的USB存储设备?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部