我正在使用 Moto X 1st-gen 和 Galaxy S5 进行测试,开发一个 Android 应用程序来与自定义配件交互。在这两款手机上,当配件连接时,它不会提示用户启动应用程序,而是简单地显示带有配件公司徽标的灰色模式。奇怪的是,如果我安装了多个使用此附件过滤器的应用程序,则会弹出启动应用程序提示,如果我选择我的应用程序并通过提示启动它,它会按预期工作。如果我选择“始终启动”然后卸载其他应用程序,它会按预期工作。但是如果我更新应用程序,问题就会重新出现。
我似乎找不到任何其他发生此问题的实例。我尝试更改意图过滤器绑定到的 Activity;没运气。
我已经像这样配置了 AndroidManifest:
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="19" />
<uses-feature android:name="android.hardware.usb.accessory" />
...
<application>
<uses-library android:name="com.android.future.usb.accessory" />
...
<activity
android:name=".activity.AccessoryActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait"
>
<intent-filter>
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
android:resource="@xml/accessory_filter" />
</activity>
</application>
并像这样设置我的附件过滤器:
<resources>
<usb-accessory manufacturer="My-Manufacturer" model="My-Model" version="1.0"/>
</resources>