Android Manifest.xml、意图过滤器和USB附件

Android Manifest.xml、意图过滤器和USB附件,android,usb,android-manifest,adt,Android,Usb,Android Manifest,Adt,我目前在Manifest.xml中有以下内容 <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" />

我目前在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端口时,仍然可以识别附件?

您只需创建一个
服务/意图服务
,该服务将被启动,而不是从应用程序启动,并且您可以在后台执行任务。
连接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端口时仍能识别附件?
您问题的一部分,请详细说明。我不希望应用程序在连接USB附件时自动启动。但是应用程序仍然可以识别usb附件。请检查答案,谢谢。我还没有测试过,但这似乎是一个更好的解决方案,谢谢