1

当通过 USB 将外部设备(例如相机)连接到 Android 智能手机时,您通常会看到一个弹出窗口:“为 USB 设备选择一个应用程序”,选择框中有一些不同的应用程序。

所以我的简单问题是:我怎样才能在选择中获得自己的应用程序。

我在stackoverflow上能找到的所有东西都是过滤意图,但我什至不确定这是否是正确的方向,因为它们主要用于文件打开和类似的东西。

感谢评论我想出了这个:

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
            </intent-filter>
            <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
        </activity>

如果我用这个设置做对了(显然我没有做对),那么在连接 USB 设备时,应用程序现在应该在选择中可见,但它仍然不是。

编辑:解决方案:我必须添加:<uses-feature android:name="android.hardware.usb.accessory" />

<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" />
            </intent-filter>
            <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/usb_device_filter" />

至少protocol="0"在过滤器中。

4

0 回答 0