本文转载自:https://blog.csdn.net/jun4331247/article/details/51201825

通过设置系统属性(System Property)[persist.sys.usb.config]即可实现关闭或打开USB调试和文件传输功能,其中mtp表示文件传输,adb表示adb调试,none表示都不启用。 
以下为在程序中实现的代码:

public class UsbSetting {
final private static String TAG = "UsbSetting";
public static void AllowUseUsb() { //允许使用USB
Command.command("setprop persist.sys.usb.config mtp,adb");
}
public static void DisallowUseUsb() { //禁止使用USB
Command.command("setprop persist.sys.usb.config none");
}
} public class Command {
final private static String TAG = "Command";
public static void command(String com) {
try {
Log.i(TAG, "Command : " + com);
Runtime.getRuntime().exec(com);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

也可以使用adb进入shell里面直接输入命令。

补充: 
因为是通过设置Android的系统属性实现的,因此要求app有system权限。 
如果只想关闭USB调试功能,可以: 
setprop persist.sys.usb.config mtp 
如果只想关闭USB文件传输功能,可以: 
setprop persist.sys.usb.config adb

最新文章

  1. 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
  2. [LeetCode] Add Two Numbers II 两个数字相加之二
  3. 点击 Run 之后发生了什么?
  4. view.performClick()触发点击事件
  5. JavaScript网站设计实践(五)编写photos.html页面,实现点击缩略图显示大图的效果
  6. QuaZip实现多文件打包
  7. leetcode_Search in Rotated Sorted Array II
  8. leetcode第一刷_Spiral Matrix II
  9. C语言库函数大全及应用实例九
  10. eclipse中创建类和方法自动注释
  11. pl/sql 笔记之存储过程、函数、包、触发器(下)
  12. [UE4]从零开始构建VR角色
  13. HDU2966 In case of failure(浅谈k-d tree)
  14. threejs教程
  15. TagCloudView云标签的灵活运用
  16. MySQL中的xtrabackup的原理解析
  17. 电容充放电时间常数RC计算方法
  18. DevExpress v18.1新版亮点——WPF篇(四)
  19. Python爬虫之Cookie和Session
  20. Form,选择并转移导航菜单

热门文章

  1. struts2中怎样处理404?
  2. GitHub for window 使用教程
  3. Android模拟屏幕点击input tap替代解决方案
  4. mock测试类的时候,添加@InjectMocks
  5. java中已经排序的列表中插入新值
  6. Java深入 - Java 内存分配和回收机制-转
  7. cordova ios升级插件
  8. Laravel开发:Laravel核心——Ioc服务容器源码解析(服务器绑定)
  9. Java引用类型作为形参和返回值
  10. Android创建library工程