如何解决如何让我的应用程序对打开 PDF 文件的隐式意图可见? 1.指定 PDF MIME 类型2.忽略缺少 URL 错误
为了测试我是否删除了模拟器上的默认 PDF 文件查看器,并且当我想打开 PDF 文件时,模拟器会显示 Can't open that file
。
如何让我的应用程序对该隐式意图可见,以便在我单击该 PDF 文件时使用/显示该应用程序?
我需要在 <intent-filter>
中添加什么 manifest.xml
配置(如果有)?
解决方法
这对我有用,你没有指定你的 sdk 版本而是检查它
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="*/*" android:host="*" android:pathPattern=".*.csv" />
</intent-filter>
,
@see javdromero's post
javdromero 的方法经过一些调整后对我有用。
1.指定 PDF MIME 类型
PDF 文件的 MIME 类型是 application/pdf
,所以我们必须使用它:
android:mimeType="application/pdf"
可以忽略 android:host
属性,因为我们没有从网络上获取任何内容,也没有指定 android:scheme
属性。 android:pathPattern
属性也是如此。查看 <data>
元素的 documentation。
这给我们留下了错误消息 Missing URL
并且文本为红色。
2.忽略缺少 URL 错误
Missing URL
错误涉及整个 <intent-filter>
元素,因为我们应该在那里指定 android:scheme
属性。
但我们不使用任何方案,因此我们导入 tools
命名空间并指定 tools:ignore
属性:
tools:ignore="AppLinkError"
这给我们留下了以下 <intent-filter>
元素配置:
<intent-filter tools:ignore="AppLinkUrlError">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="application/pdf" />
</intent-filter>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。