我正在处理的应用程序通过 USB 连接成功连接到设备。
此外,它现在可以记住来自不同启动的设备,正如以下存储 USB 默认连接的线程中所指出的那样。
但是,这会留下在连接 USB 设备时始终启动 Activity 的不良影响。如果不启动应用程序,我无法记住默认设置。在连接上启动应用程序不是预期的效果。下面的小代码示例是清单当前的样子,以便将默认的 USB 连接存储在内存中,以便快速浏览未来的连接。可以在不启动应用程序的情况下完成这种默认值存储吗?
<activity
android:name="com.MainScreen"
android:theme="@style/Theme.Default"
android:configChanges="orientation|keyboardHidden|screenSize"
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"
android:resource="@xml/device_filter" />
</activity>
我一直在想,也许有一种类别可以添加到意图过滤器中,将其指定为不可启动的意图。在活动期间被监听但由活动处理的东西。到目前为止,我还没有找到这个。
更新:
在清单中的服务或接收器中声明 USB 设备连接的意图也是一种存储连接信息的尝试。但是,只有 Activity 中的 Intent 会记住连接状态,因此在稍后给定的时间点重新连接时,它不需要询问用户的后续时间。它看起来好像只是为了保存状态并在连接时启动应用程序。有点奇怪,但没有解决方法来获得不启动并记住 USB 连接设备的默认连接。