StackOverflow 社区!
我在通过运行 Android 9 的 Odroid N2 板上的 RS485 端口使用设备时遇到问题。我使用 USB/RS485 适配器和 usb-serial-for-android 库与设备进行通信Modbus RTU 协议。
我在 Android 9 上的 Unity 应用程序中获取 USB 权限时遇到问题。尝试连接到设备时,我收到错误“USB_PERMISSION returned”和异常“java.lang.SecurityException:用户未授予权限”到设备。”
这是我已经完成的:
修改了清单并添加了所有必要的权限。
<?xml version="1.0" encoding="utf-8"?>
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>
<application
android:theme="@style/UnityThemeSelector"
android:icon="@drawable/app_icon"
android:label="@string/app_name">
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
<action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
</application>
确保应用程序具有超级用户权限。
在开发者选项中启用USB调试模式。
使用 usb-serial-for-android 库以及相应的 Java 插件进行集成。 (我正在使用此代码USB串行驱动程序Java插件在Unity Android构建中无法工作)
尽管我竭尽全力,请求使用 USB 设备权限的弹出窗口并未出现。 Android 似乎拒绝使用 USB 设备的权限。如何克服此问题并获得在 Android 9 上的 Unity 应用程序中与 USB 设备交互所需的权限?
我将不胜感激任何对此问题的指导或解决方案。谢谢!
好吧,这个解决方案让我有点惊讶。我尝试使用 /dev/ttyS0 端口,因为我的设备一打开就向我显示了它。但 odroid 论坛的人建议我没有安装 ftdi 驱动程序。所以他们是对的。
按照以下步骤检查您是否有此驱动程序:
$ adb remount
$ adb shell