我想在Android中编写一个基于USB_DEVICE_ATTACHED意图启动的服务.因此,基本上我的服务应该在连接特定USB设备(FT232C – VID:PID 0403:6010)时启动,并在分离USB设备时停止.是否可以这样做,还是应该总是有一个Activity来启动这项服务,以防它尚未启动?最终服务的目的是根据从该USB设备提供的位置,使用TEST_PROVIDER更新LocationProvider上的位置.
我已经尝试在AndroidManifest.xml中使用此配置创建服务
package="com.testlocservice"
android:versionCode="1"
android:versionName="1.0">
android:icon="@drawable/ic_launcher"
android:theme="@style/AppTheme">
android:resource="@xml/device_filter" />
xml / device_filter.xml包含此内容
我的LocationService类已重写onStartCommand(),它处理USB_DEVICE_ATTACHED意图
解决方法:
根据我的经验,< service>无法接收USB意图.我通过创建一个隐藏的活动来接收意图并重新广播它来克服这个问题.当然,此活动也可以处理启动/停止服务.
标签:android,usb,host
来源: https://codeday.me/bug/20190620/1246838.html