安卓11 | 地图导航的包可见性变更

8

从Android 11开始,应用程序的可见性发生了变化。在我的应用程序中,我需要导航到邮件应用和导航应用。

以下代码需要添加到清单文件中

<manifest package="com.example.game">
    <queries>
        <intent>
            <action android:name="android.intent.action.SEND" />
            <data android:mimeType="image/jpeg" />
        </intent>
    </queries>
    ...
</manifest>

根据文档,上述示例允许您的应用程序查看支持JPEG图像共享的已安装应用程序:
请问有谁能帮助我确定导航应用程序(如谷歌导航、Uber)和邮件应用程序(如Outlook、Gmail)需要使用哪些“action”和“data”?
先行致谢!
参考链接:https://developer.android.com/training/basics/intents/package-visibility#intent-signature
3个回答

10
你应该在AndroidManifest.xml文件中使用“geo”方案来查询意图。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example">

    ...

    <queries>
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="geo" />
        </intent>
    </queries>

</manifest>

我之前在使用“geo:” URL 时,在 Android 11+ 上无法正常工作。将上述代码片段添加到我的应用清单中后,问题得到了解决,谢谢! - Pēteris Caune

9
我发现我的应用在升级到Android 11后无法正常工作,这令人沮丧,版本发布说明中似乎存在与意图查询相关的差距。
如果您使用了SEND意图,请将以下代码更改为相应的内容,可以将其用于电子邮件,因为我使用了SENDTO意图。
<queries>
    <intent>
        <action android:name="android.intent.action.SENDTO" />
        <data android:scheme="mailto" />
    </intent>
</queries>

5

将此意图添加到清单中的查询下可解决我的问题。

<intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="google.navigation" />
</intent>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接