如何让我们的应用在 android 的“打开方式”中可见?

Posted

技术标签:

【中文标题】如何让我们的应用在 android 的“打开方式”中可见?【英文标题】:How to make our app visible in the "Open with" in android? 【发布时间】:2021-07-17 16:02:50 【问题描述】:

我正在开发一个可以查看或编辑 pdf 文件的 android 应用程序。

我的应用程序显示在“使用...打开文件”屏幕中。 here is the screenshot

但是当我从 google 文件文件管理器应用程序中单击一个 pdf 文件时,它显示“打开方式”屏幕并且我的应用程序不存在。 here is the screenshot

这是我在 manifest.xml 中的意图过滤器:

<intent-filter android:label="View or edit your pdf files">
            <category android:name="android.intent.category.DEFAULT" />
            <action android:name="android.intent.action.VIEW" />
            <action android:name="android.intent.action.EDIT"/>
            <data android:scheme="content" />
            <data android:mimeType="application/pdf" />
        </intent-filter>

如何使我的应用在“打开方式”屏幕中可见,例如第二个屏幕截图中的 Drive Pdf Viewer 和 WPS Office?

【问题讨论】:

【参考方案1】:

我已将您的代码应用到我的应用程序中,一切正常。不知道这里到底发生了什么,但在您的情况下,您可以定义具有大量操作和数据类型的意图过滤器(我认为类别不是必需的),以查看您的应用程序是否可以成为处理意图的候选者。然后在接收意图的活动中,在 onNewIntent() 方法中,检查传入意图的所有属性,以查看当前解决方案中缺少什么。所有可能的意图的动作都可以在文档中找到(您不需要定义所有它们,只需添加最流行的并查看结果) https://developer.android.com/reference/android/content/Intent

【讨论】:

我刚刚通过谷歌应用程序卸载并重新安装了文件,现在它在“打开方式”列表中显示了我的应用程序。无论如何,谢谢你的回复。 是的,我使用了您声明的意图过滤器!请参阅我编辑的版本的附件图像。你试过我说的方法吗?有用吗? 很高兴问题解决了,但有点奇怪!

以上是关于如何让我们的应用在 android 的“打开方式”中可见?的主要内容,如果未能解决你的问题,请参考以下文章

如何让我的应用程序显示在 iPhone 上的“打开方式...”列表中?

如何让应用出现在LINUX的右键/打开方式/更多应用

Android Studio - 我们如何让应用程序编译得更快? [复制]

Win10系统怎样让打开图片方式为照片查看器

动态链接(Android App Links)不提示“打开方式”Android 6.0+

React Native (Android) - 应用在“打开方式”列表中出现两次