在Android 6.0中,MTP no longer works automatically:
默认情况下,通过USB端口的设备连接现在设置为仅充电模式。要通过USB连接访问设备及其内容,用户必须明确授予此类交互的权限。如果您的应用支持用户通过USB端口与设备进行交互,请考虑必须明确启用交互。
MTP需要至少在每次插入USB线时重新授权,并且可能比这更频繁(超时?)。
启用USB调试后,我发现让MTP共享在设备上工作的唯一解决方案是:
当您尝试在外部存储设备上处理设备的文件时,会加重 。
是否有一种命令行方式可以让MTP继续进行,而不是编写UIAutomator"测试"自动化上述过程?或者,有没有其他方法可以让MTP在没有这种准备过程的情况下工作?
答案 0 :(得分:14)
在Marshmallow(6.0和6.0.1)中,没有某种超能力是不可能的: - (
adb shell svc usb setFunction mtp
抛出java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_USB.
,MANAGE_USB
是signature|privileged
权限。我将其归档为issue#193062。它已被置于状态已分配并标记为缺陷-25596495 。它已在N开发人员预览中修复。