我的应用程序的清单设置为使用com.android.future.usb.accessory库并过滤USB_ACCESSORY_ATTACHED:
<application
...
<uses-library android:name="com.android.future.usb.accessory" />
<activity
android:name="com.example.usb.MainActivity"
...
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
android:resource="@xml/accessory_filter" />
</activity>
...
</application>
然后我通过
收到我的MainActivity中的意图protected void onNewIntent(Intent intent) {
String action = intent.getAction();
Log.d(TAG, "New Intent Action " + action);
if (UsbManager.ACTION_USB_ACCESSORY_ATTACHED.equals(action)) {
Toast.makeText(getBaseContext(), "Device Attached", Toast.LENGTH_LONG).show();
}
super.onNewIntent(intent);
}
出于某种原因,如果我想要连接的应用程序没有在另一台设备上运行,我只会收到此意图。有人知道为什么,或者有解决方法吗?