我目前在Manifest.xml中有以下内容
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<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>
现在,当连接USB附件时,这将尝试启动我的应用程序。
我需要进行哪些更改才能使应用程序在连接附件(假设已经启动)时不尝试启动,但在插入USB端口时仍会识别附件?
答案 0 :(得分:0)
您只需创建一个Service/Intent Service
即可启动而不是应用程序中的活动,您可以在后台执行任务。
连接USB时发生广播事件。您可以使用以下代码模板简单地接收它。
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// UsbManager.ACTION_USB_STATE -> "android.hardware.usb.action.USB_STATE" actually
if (action.equals(UsbManager.ACTION_USB_STATE)) {
Bundle extras = intent.getExtras();
// UsbManager.USB_CONNECTED -> "connected" actually
usbConnected = extras.getBoolean(UsbManager.USB_CONNECTED);
来源:USB Connection notification
我希望这有帮助。
...