gpt4 book ai didi

android - 自定义文件扩展名的 Intent 过滤器在 Android 6 Marshmallow 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 11:03:42 31 4
gpt4 key购买 nike

对于 Android < 6,我可以使用我的应用程序打开下载的文件,但对于 Android 6,intent 过滤器似乎不起作用。

我的应用程序中有以下 Intent 过滤器:

        <intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="file"
android:mimeType="*/*"
android:host="*"
android:pathPattern=".*\\.dd35" />
</intent-filter>

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:mimeType="application/octet-stream"
android:host="*"
android:scheme="content"
android:pathPattern=".*\\.dd35" />
</intent-filter>

调试时我可以看到它为什么不起作用:

ActivityManager: START u0 {act=android.intent.action.VIEW dat=content://downloads/all_downloads/4 typ=application/octet-stream flg=0x3} 

显然,下载的文件是作为名称为 4 且没有任何扩展名的文件提供给 Intent 的。我现在如何创建一个 intent 过滤器来打开正确的文件(扩展名为 .dd35)而不是所有下载的文件..?

它应该可以在 Android 6 上使用 native 文件管理器(下载应用程序)运行。它已经适用于 Astro 和其他具有上述 Intent 过滤器的文件管理器,因为它们确实很好地触发了带有文件名和扩展名的 Intent 。

最佳答案

我们需要使用不同的mimeTypescheme

首先你必须在androidmanifest.xml文件中添加读取外部存储的权限。

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

然后在 Activity 标签中的 androidmanifest 文件中,添加一个 intent-filter,如下所示。

 <intent-filter >
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="content"/>
<data android:mimeType= "application/zip" />
<data android:host="*" />
</intent-filter>

关于android - 自定义文件扩展名的 Intent 过滤器在 Android 6 Marshmallow 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36470142/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com