清除USB_ACCESSORY_ATTACHED意图

时间:2016-11-02 13:24:23

标签: android android-intent usb default intentfilter

我希望我的应用能够放弃USB_ACCESSORY_ATTACHED的首选活动状态。

如果我为某些mime类型声明了一个intent过滤器,如下所示:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <action android:name="android.intent.action.PICK" />

    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="file" />
    <data android:scheme="content" />

    <data android:mimeType="audio/x-wav" />
</intent-filter>

我可以调用PackageManager#getPreferredActivities(...)并确认我的活动已成为给定mime类型的默认值。随后调用PackageManager#clearPackagePreferredActivities(getPackageName())将按预期删除默认值,当用户尝试打开与该mime类型匹配的文件时,将提示用户选择应用程序。

但是,在USB_ACCESSORY_ATTACHED的情况下,intent-filter声明如下,

<intent-filter>
    <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"/>
</intent-filter>

我打电话PackageManager#getPreferredActivities(...)时没有列出任何内容,尽管我的活动已经成为操作的默认设置(可以在应用程序中确认&gt;默认应用程序&gt;设置为默认值。同样,调用clearPackagePreferredActivities()什么都不做。是否无法清除USB_ACCCESSORY_ATTACHED的默认活动?谢谢!

0 个答案:

没有答案