gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 23:23:29 26 4
gpt4 key购买 nike

在 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 上,关闭并重新打开显示设备内容的窗口)

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

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

最佳答案

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

adb shell svc usb setFunction mtp

抛出 java.lang.SecurityException: 用户 2000 和当前进程都没有 android.permission.MANAGE_USB。 并且 MANAGE_USBsignature|privileged 许可。我将其归档为 issue#193062 .它已进入状态 Assigned 并标记为 Defect-25596495。在 N 开发者预览版中已修复。

关于android - 我们如何在启用调试的 Android 6.0 设备上更轻松地切换 MTP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33545537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com