问题标签 [android-usb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
24 浏览

android - 如何在 Android TV 中将 USB 设备(pendrive)设置为下载管理器目标

我正在开发一个 Android TV 应用程序,这个应用程序需要从服务器下载一些大文件。因此,对于下载文件,我正在使用下载管理器。现在我想将下载管理器目标设置为连接的 USB(perdrive)驱动器,即连接到 Android TV。如何做到这一点?

0 投票
0 回答
42 浏览

android - 在 Android 中使用 USB 网络摄像头时无法使用设备麦克风

我们在我们的 Android 应用程序中使用USB 网络摄像头,同时我们还提供Google Speech to Text转换功能。但是我们在使用 USB 摄像头时无法使用设备麦克风,所以请帮助我们如何以编程方式强制启用设备麦克风。

或者

如何以编程方式启用以下开发人员选项?

“禁用 USB 音频路由”

进阶谢谢。

0 投票
0 回答
93 浏览

android - 在不使用 ADB 的情况下通过 USB 将数据从 Android 发送到 Windows

我正在开发与 Windows PC 通信的应用程序。

我知道我可以使用带有端口转发的 ADB 来获得 TCP 通信通道。但要使其工作,用户必须在他/她的移动设备上启用 USB 调试模式。我希望应用程序尽可能简单易用,因此我不会为用户设置更多障碍。

是否有 ADB 的替代品通过 USB 在 Android 和 Windows 之间交换数据?例如 libusb 是否可以在没有调试模式的情况下工作?

0 投票
1 回答
199 浏览

android - 无法在 Android Kotlin 中列出 USB 连接的设备

我正在使用 Kotlin 构建一个 Android 应用程序。我想要做的是我试图列出所有通过 USB 连接的设备。但设备列表始终为空。

首先,我在文件中放入以下声明AndroidManifest.xml

当活动打开时,在 onCreate 方法中,我调用了以下函数来获取 USB 连接设备的列表:

我已将设备连接到笔记本电脑。但是当我打开应用程序时,设备列表总是空的。代码有什么问题,我该如何解决?

0 投票
0 回答
31 浏览

android - 在 Android Studio 中检测传输文件和传输照片(USB MASS Storage)的 Intent 过滤器

我在接收器中使用意图过滤器

广播接收器类

}

在我的 MainActivity onCreateMethod

在 MainActivity 中注册接收器 -

此代码广播是用户将 USB 连接到手机。但我希望广播接收器仅检测用户是否未禁用传输文件/传输照片。我不想检测仅用于充电选项的 USB 连接。我该怎么做?

0 投票
1 回答
93 浏览

android - 当我仅在省电模式下使用插拔 USB 进行测试时,如何避免自动重新启动活动

当移动电池服务器模式开启时,测试我的应用程序我插拔 USB .. 应用程序活动重新启动.. 仅在电池服务器模式开启时..

0 投票
0 回答
70 浏览

android - 使用 Android UsbManager 或 getSystemService 可能存在问题

我无法获得UsbManager的工作实例。

根据 Android USB guide,我应该可以通过以下任一方式访问它:

或者

但两者似乎都不起作用。第一个给出错误

无法解析 UsbManager 中的方法“getInstance”。

后者给出:

必须是以下之一:Context.POWER_SERVICE、Context.WINDOW_SERVICE、Context.LAYOUT_INFLATER_SERVICE、Context.ACCOUNT_SERVICE、Context.ACTIVITY_SERVICE、Context.ALARM_SERVICE、Context.NOTIFICATION_SERVICE、Context.ACCESSIBILITY_SERVICE、android.content.Context.CAPTIONING_SERVICE、Context.KEYGUARD_SERVICE、Context .LOCATION_SERVICE,Context.SEARCH_SERVICE,Context.SENSOR_SERVICE,android.content.Context.STORAGE_SERVICE,android.content.Context.STORAGE_STATS_SERVICE,Context.WALLPAPER_SERVICE,Context.VIBRATOR_SERVICE,Context.CONNECTIVITY_SERVICE,android.content.Context.IPSEC_SERVICE,android.content .Context.VPN_MANAGEMENT_SERVICE,android.content.Context.NETWORK_STATS_SERVICE,Context.WIFI_SERVICE,android.content.Context.WIFI_AWARE_SERVICE,android.content.Context.WIFI_P2P_SERVICE,android.content.Context.WIFI_RTT_RANGING_SERVICE,android.content。Context.NSD_SERVICE,Context.AUDIO_SERVICE,android.content.Context.FINGERPRINT_SERVICE,android.content.Context.BIOMETRIC_SERVICE,android.content.Context.MEDIA_ROUTER_SERVICE,Context.TELEPHONY_SERVICE,android.content.Context.TELEPHONY_SUBSCRIPTION_SERVICE,android.content.Context。 CARRIER_CONFIG_SERVICE,android.content.Context.EUICC_SERVICE,android.content.Context.TELECOM_SERVICE,Context.CLIPBOARD_SERVICE,Context.INPUT_METHOD_SERVICE,android.content.Context.TEXT_SERVICES_MANAGER_SERVICE,android.content.Context.TEXT_CLASSIFICATION_SERVICE,android.content.Context.APPWIDGET_SERVICE, android.content.Context.DROPBOX_SERVICE,android.content.Context.DEVICE_POLICY_SERVICE,android.content.Context.UI_MODE_SERVICE,android.content.Context.DOWNLOAD_SERVICE,android.content.Context.NFC_SERVICE,android.content.Context.BLUETOOTH_SERVICE,android。content.Context.USB_SERVICE,android.content.Context.LAUNCHER_APPS_SERVICE,android.content.Context.INPUT_SERVICE,android.content.Context.DISPLAY_SERVICE,android.content.Context.USER_SERVICE,android.content.Context.RESTRICTIONS_SERVICE,android.content。 Context.APP_OPS_SERVICE,android.content.Context.ROLE_SERVICE,android.content.Context.CAMERA_SERVICE,android.content.Context.PRINT_SERVICE,android.content.Context.CONSUMER_IR_SERVICE,android.content.Context.TV_INPUT_SERVICE,android.content.Context。 USAGE_STATS_SERVICE,android.content.Context.MEDIA_SESSION_SERVICE,android.content.Context.BATTERY_SERVICE,android.content.Context.JOB_SCHEDULER_SERVICE,android.content.Context.MEDIA_PROJECTION_SERVICE,android.content.Context.MIDI_SERVICE,android.content.Context.HARDWARE_PROPERTIES_SERVICE, android.content.Context.SHORTCUT_SERVICE,安卓。content.Context.SYSTEM_HEALTH_SERVICE,android.content.Context.COMPANION_DEVICE_SERVICE,android.content.Context.CROSS_PROFILE_APPS_SERVICE

必须是以下之一:Context.POWER_SERVICE、Context.WINDOW_SERVICE、Context.LAYOUT_INFLATER_SERVICE、Context.ACCOUNT_SERVICE、Context.ACTIVITY_SERVICE、Context.ALARM_SERVICE、Context.NOTIFICATION_SERVICE、Context.ACCESSIBILITY_SERVICE、android.content.Context.CAPTIONING_SERVICE、Context.KEYGUARD_SERVICE、Context .LOCATION_SERVICE,Context.SEARCH_SERVICE,Context.SENSOR_SERVICE,android.content.Context.STORAGE_SERVICE,android.content.Context.STORAGE_STATS_SERVICE,Context.WALLPAPER_SERVICE,Context.VIBRATOR_SERVICE,Context.CONNECTIVITY_SERVICE,android.content.Context.IPSEC_SERVICE,android.content .Context.VPN_MANAGEMENT_SERVICE,android.content.Context.NETWORK_STATS_SERVICE,Context.WIFI_SERVICE,android.content.Context.WIFI_AWARE_SERVICE,android.content.Context.WIFI_P2P_SERVICE,android.content.Context.WIFI_RTT_RANGING_SERVICE,android.content。Context.NSD_SERVICE,Context.AUDIO_SERVICE,android.content.Context.FINGERPRINT_SERVICE,android.content.Context.BIOMETRIC_SERVICE,android.content.Context.MEDIA_ROUTER_SERVICE,Context.TELEPHONY_SERVICE,android.content.Context.TELEPHONY_SUBSCRIPTION_SERVICE,android.content.Context。 CARRIER_CONFIG_SERVICE,android.content.Context.EUICC_SERVICE,android.content.Context.TELECOM_SERVICE,Context.CLIPBOARD_SERVICE,Context.INPUT_METHOD_SERVICE,android.content.Context.TEXT_SERVICES_MANAGER_SERVICE,android.content.Context.TEXT_CLASSIFICATION_SERVICE,android.content.Context.APPWIDGET_SERVICE, android.content.Context.DROPBOX_SERVICE,android.content.Context.DEVICE_POLICY_SERVICE,android.content.Context.UI_MODE_SERVICE,android.content.Context.DOWNLOAD_SERVICE,android.content.Context.NFC_SERVICE,android.content.Context.BLUETOOTH_SERVICE,android。content.Context.USB_SERVICE,android.content.Context.LAUNCHER_APPS_SERVICE,android.content.Context.INPUT_SERVICE,android.content.Context.DISPLAY_SERVICE,android.content.Context.USER_SERVICE,android.content.Context.RESTRICTIONS_SERVICE,android.content。 Context.APP_OPS_SERVICE,android.content.Context.ROLE_SERVICE,android.content.Context.CAMERA_SERVICE,android.content.Context.PRINT_SERVICE,android.content.Context.CONSUMER_IR_SERVICE,android.content.Context.TV_INPUT_SERVICE,android.content.Context。 USAGE_STATS_SERVICE,android.content.Context.MEDIA_SESSION_SERVICE,android.content.Context.BATTERY_SERVICE,android.content.Context.JOB_SCHEDULER_SERVICE,android.content.Context.MEDIA_PROJECTION_SERVICE,android.content.Context.MIDI_SERVICE,android.content.Context.HARDWARE_PROPERTIES_SERVICE, android.content.Context.SHORTCUT_SERVICE,安卓。content.Context.SYSTEM_HEALTH_SERVICE,android.content.Context.COMPANION_DEVICE_SERVICE,android.content.Context.CROSS_PROFILE_APPS_SERVICE

我正在使用android.hardware.usb.UsbAccessoryandandroid.hardware.usb.UsbManager库作为参考。我的 build.gradle 文件的相关部分如下:

编辑:

我尝试制作一个新的 Android 项目,似乎UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);语法在那里有效,所以我尝试了以下步骤:

  1. 将此空白“应用程序”模块复制/粘贴到问题仍然存在的原始项目中。
  2. 覆盖项目和模块 build.gradle 文件。以“大多数是以下之一:...”开始的第二个错误仍然存​​在。
  3. 这开始看起来像缓存问题。我使android studio缓存无效并重新启动。问题仍然存在。
  4. 我从工作目录中删除了所有内容,并将新空白项目的内容复制到现有项目中。问题仍然存在。
  5. 最后,我再次删除了所有内容并且git reset --hard HEAD. 问题消失了。

根据给出的错误,任何关于这种情况如何发生和/或如何在未来避免它的见解,都有望在未来对其他人有所帮助。

0 投票
0 回答
28 浏览

android - 如何检测像 MEDIA_EJECT 和 ACTION_MEDIA_BAD_REMOVAL 这样的 USB 事件?

我创建了一个名为 的类MyBroadcastReceiver,它覆盖了BroadcastReceiver,并在 AndroidManifest 中注册了它。但它会在onReceive()方法中报告的唯一操作是USB_DEVICE_ATTACHEDUSB_DEVICE_DETACHEDUSB_STATE

我希望能够检测到用户何时从状态栏通知中按下“弹出”按钮,因为这样做会使我的应用程序无法访问 USB 驱动器。我想我需要MEDIA_EJECT为此采取行动。

我尝试过使用和不使用“文件”方案。唯一的区别是添加它会使任何操作都不起作用,所以我现在把它注释掉了。我也尝试过纯粹在 Kotlin 中做所有事情,我在其中声明 anIntentFilter和 call registerReceiver()。那也没有奏效。

难道我做错了什么?

MyBroadcastReceiver班级:

MyBroadcastReceiver在 AndroidManifest 中注册:

0 投票
0 回答
35 浏览

usb - 在 Linux 和 Android 设备之间使用 libusb 传输文件

我正在编写一个应用程序来使用 libusb 在 Android 和 Linux 设备之间来回传输数据。我面临以下问题:

  1. USB 连接每 20 秒重置一次
  2. 我在 libusb 中找不到任何接口可以进行双工通信。

有人可以帮我解决上述问题。我试图从各种来源中查找示例,但所有示例仅发送一次数据并结束程序。我找不到任何具有连续数据传输的样本。请帮助我,因为我是 libusb 的新手。

0 投票
0 回答
16 浏览

android - 在 Android 12 中测量 USB 驱动器空间

我正在尝试测量 USB 驱动器的可用空间和驱动器容量。以下用于测量可用空间的代码在以前的 Android 版本中运行良好,并且类似的技术可以测量驱动器容量:

但在 Android 12 中,这种方法不再可行,因为由于某种原因,现在调用 ContentResolver.openAssetFileDescriptor() 需要更长的时间。Android 12 更改列表中似乎没有任何内容对此负责。我什至尝试查看此方法的源代码,但无法找到从 Android 11 更改为 12 的任何内容。

是否有其他方法可以测量驱动器空间?或者任何解释为什么ContentResolver.openAssetFileDescriptor()需要这么长时间才能执行?