当您在应用内请求权限时,“默认情况下用于此USB设备”复选框似乎没有任何作用(我不确定为什么此复选框甚至会在此弹出窗口中显示。
相反,您应该在清单中为您的活动注册一个意图处理程序:
...
...
>
您还必须在xml资源中创建一个过滤器文件,例如res / xml / usb_device_filter:
这里的供应商ID和产品ID必须以十进制形式给出-VID和PID均高于0x6666。
我在上面给出的内容也适用于USB附件(也就是说,附件是USB主机,而android是设备)-在这种情况下,意图过滤器应该注册
而且您还必须以完全相同的方式包括元数据过滤器。
请参阅[http://developer.android.com/guide/topics/connectivity/usb/accessory.html]并搜索“使用意图过滤器”部分。
编辑
总结-如果您针对自己的活动注册了意图过滤器,则在连接USB设备/附件后,将立即显示USB许可窗口。 如果用户选中“默认情况下,此USB设备使用”复选框,然后授予权限,则该权限将被记住,并且权限对话框将不会再次显示(除非卸载了应用程序或用户从应用程序管理器中清除了默认操作) )。
我在这里放置了一个很小的,可怕的工作示例项目:
[HTTP://呜呜呜.locus IA.com/examples/permission test.zip]
您将需要编辑res / xml / usb_device_filter.xml,但否则,这将使您可以非常快速地对其进行测试。
对于服务...
似乎服务无法接收USB