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

2024-01-01

在安卓6.0中,MTP 不再自动工作 http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-usb:

通过 USB 端口的设备连接现在默认设置为仅充电模式。要通过 USB 连接访问设备及其内容,用户必须明确授予此类交互的权限。如果您的应用程序支持用户通过 USB 端口与设备交互,请考虑必须显式启用交互。

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

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

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

This is 加重的当您尝试使用外部存储上的设备文件时。

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


在 Marshmallow(6.0 和 6.0.1)中,如果没有某种超能力,这是不可能的:-(

adb shell svc usb setFunction mtp

throws java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_USB. and MANAGE_USB is a signature|privileged允许。我将此归档为问题#193062 https://code.google.com/p/android/issues/detail?id=193062。已进入状态Assigned并标记为缺陷-25596495。在 N 开发者预览版中已修复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在启用调试的 Android 6.0 设备上更轻松地切换 MTP? 的相关文章

随机推荐