You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android开发:如何将自制PDF阅读器设置为PDF文件默认打开程序

自定义PDF阅读器设置为系统默认打开程序方案

Android 平台(适配 WhatsApp、文件管理器等全场景)

  • 核心配置:在AndroidManifest.xml的PDF阅读Activity节点下添加三类Intent Filter,覆盖所有PDF打开场景:
<!-- 适配Android 11+ 包可见性要求,放在Manifest根节点下 -->
<queries>
    <intent>
        <action android:name="android.intent.action.VIEW" />
        <data android:mimeType="application/pdf" />
    </intent>
</queries>

<activity android:name=".PdfReaderActivity">
    <!-- 匹配通用本地PDF文件打开请求 -->
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="application/pdf" />
    </intent-filter>
    <!-- 匹配Content URI打开场景(WhatsApp分享、系统文档提供商的文件都走这个协议) -->
    <intent-filter>
        <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" android:mimeType="application/pdf" />
    </intent-filter>
    <!-- 匹配file协议打开的本地PDF场景 -->
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="file" android:mimeType="application/pdf" android:pathPattern=".*\\.pdf" />
    </intent-filter>
</activity>
  • 权限适配:打开第三方应用提供的PDF时,主动获取传入Intent的FLAG_GRANT_READ_URI_PERMISSION临时读取权限,避免权限拦截导致无法加载文件。
  • 引导用户设置默认:应用首次启动时可以弹窗引导用户进入「应用详情-打开方式-默认打开」设置页,勾选所有PDF相关选项,将应用设为默认打开程序。

Windows 平台

  • 安装阶段关联后缀:在安装包的执行逻辑中写入注册表,关联.pdf后缀与你的应用:
HKEY_CLASSES_ROOT\.pdf
(默认) = YourPDFReader.1.0
HKEY_CLASSES_ROOT\YourPDFReader.1.0\shell\open\command
(默认) = "你的应用安装路径\YourPDFReader.exe" "%1"
  • 引导手动设置:安装完成后引导用户进入「设置-应用-默认应用-按文件类型指定默认应用」,找到.pdf后缀,选择你的应用作为默认打开程序。
  • 桌面桥/UWP应用:直接在Package.appxmanifest中添加文件类型关联声明,关联.pdf后缀即可,系统会自动将你的应用加入PDF默认选项列表。

内容的提问来源于stack exchange,提问作者Syed Irfan Hussaini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 22:09:01