如何在启用Debug的Android 6.0设备上更轻松地切换MTP?

Android 6.0,MTP no longer works automatically中:

Device connections through the USB port are now set to charge-only mode by default. To access the device and its content over a USB connection, users must explicitly grant permission for such interactions. If your app supports user interactions with the device over a USB port, take into consideration that the interaction must be explicitly enabled.

至少每次插入USB电缆时,MTP都需要重新授权,并且可能更频繁(超时?).

启用USB调试功能后,我发现让MTP共享在设备上工作的唯一解决方案是:

>进入设置>开发人员选项
>向下滚动到“选择USB配置”
>将该选项的值切换为除MTP之外的任何内容,例如“仅充电”(如果它现在在MTP上)
>将该选项的值切换为MTP
>刷新您的MTP客户端(例如,在Ubuntu 15.04上,关闭并重新打开显示设备内容的窗口)

当您尝试使用外部存储设备上的文件时,这将加剧.

是否有命令行方式来获取MTP,不需要编写自动执行上述过程的UIAutomator“测试”?或者,是否还有其他方法可以让MTP在没有这种准备过程的情况下工作?

在棉花糖(6.0和6.0.1)中,不可能没有某种超级力量:-(

adb shell svc usb setFunction mtp

throws java.lang.SecurityException:用户2000和当前进程都没有android.permission.MANAGE_USB.并且MANAGE_USB是签名|特权权限.我把它提交为issue#193062.它已经被分配到状态并被标记为Defect-25596495.它是固定在N开发者预览.

翻译自:https://stackoverflow.com/questions/33545537/how-do-we-toggle-on-mtp-more-easily-on-a-debug-enabled-android-6-0-device

转载注明原文:如何在启用Debug的Android 6.0设备上更轻松地切换MTP?