以编程方式在Android中提供USB权限

时间:2014-07-23 07:09:41

标签: android usb usbserial

我们有一个应用程序,可以随时使用Android和USB与Ardupilot进行通信。我们的手机正在记录来自ardupilot和其他一些东西的信息。问题是,通常在登录时我们无法轻松访问手机屏幕。这意味着如果我们遇到USB电缆松动的问题(经常发生这种情况),我们需要访问屏幕以授予USB设备许可。有没有办法永远授予许可。该应用程序只是内部的,所以我们不担心安全性,但需要方便。

注意:我们已经尝试选择"记住以后的选择",但对话框始终打开,它似乎不记得我们的选择。

编辑: 根据要求,我们要求USB的清单行:

<uses-feature android:name="android.hardware.usb.host" />
                        ...
<activity
        android:name="..."
        android:configChanges="orientation|keyboardHidden"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />

            <meta-data
                android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
                android:resource="@xml/device_filter" />
        </intent-filter>
    </activity>

以下是我们的设备过滤器:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 0x0403 / 0x6001: FTDI FT232R UART -->
<usb-device vendor-id="1027" product-id="24577" />

 <!-- 0x0403 / 0x6015: FTDI FT232R UART -->
<usb-device vendor-id="1027" product-id="24597" />

<!-- 0x2341 / 0x0010: APM 2.5 device -->
<usb-device vendor-id="9025" product-id="16" />    

<!-- 0x26ac / 0x0010: APM 2.5 device -->
<usb-device vendor-id="9900" product-id="16" />  

<!-- 0x2341 / Arduino -->
<usb-device vendor-id="9025" />

<!-- 0x16C0 / 0x0483: Teensyduino  -->
<usb-device vendor-id="5824" product-id="1155" />

<!-- 0x10C4 / 0xEA60: CP210x UART Bridge -->
<usb-device vendor-id="4292" product-id="60000" />

</resources>

0 个答案:

没有答案