gpt4 book ai didi

android - "Downloads"应用程序中显示的文件的文件类型注册失败

转载 作者:行者123 更新时间:2023-11-29 15:58:52 26 4
gpt4 key购买 nike

基于 this answer我为本地 RTF 文件配置了一个 Intent 处理程序。它适用于文件管理器应用程序以及我的 Nexus 7 (Android 4.4) 上的 Firefox 下载文件 View 。

下载 应用程序 - 一个可以单独启动的应用程序,但显示由 Chome 下载的文件 - 不提供使用我的应用程序打开选定的 RTF 文件。相反,它显示“错误:无法打开文件”。

logcat 输出为:

W/DownloadManager﹕ Failed to start Intent 
{ act=android.intent.action.VIEW dat=content://downloads/all_downloads/1763 typ=application/rtf flg=0x3 }:
android.content.ActivityNotFoundException:
No Activity found to handle Intent
{ act=android.intent.action.VIEW dat=content://downloads/all_downloads/1763 typ=application/rtf flg=0x3 }-

同样的方法在模拟器 (Android 4.0.3) 中运行良好:在默认网络浏览器中下载的 RTF 出现在“下载”应用程序中,并且可以通过我的 RTF 查看器打开。

PDF 文档也可以直接从“下载”应用程序打开。

我还检查了我下载 RTF 的服务器是否使用指定的 MIME 类型之一(它是 application/rtf)。

我的问题是:是否有其他特殊要求将应用与我缺少的“下载应用” View 中显示的文件相关联?

第二个问题:出现在“下载”应用程序中的文件存储在哪里?

我的 Intent 过滤器:

<intent-filter
android:icon="@drawable/logo"
android:label="Tiny RTF">

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

<data android:scheme="http" />
<data android:scheme="https" />
<data android:scheme="content" />

<data android:scheme="file" android:host="*"
android:pathPattern=".*\\.rtf" />

<data android:mimeType="application/rtf" />
<data android:mimeType="text/rtf" />
<data android:mimeType="text/richtext" />
</intent-filter>

权限:

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

最佳答案

  1. 我的问题是:是否有其他特殊要求将应用程序与我缺少的“下载应用程序” View 中显示的文件相关联?

下载管理器使用 content 方案类型。

试试这个:

<data 
android:scheme="content"
android:host="*"
android:mimeType="application/rtf" />
  1. 第二个问题:“下载”应用中显示的文件存储在哪里?

在我的设备中,下载的文件存储在:/data/media/0/Download

关于android - "Downloads"应用程序中显示的文件的文件类型注册失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25947839/

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