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

Posted

技术标签:

【中文标题】安卓 11 |地图导航的包可见性更改【英文标题】:Android 11 | Package visibility change for map navigation 【发布时间】:2021-03-11 17:41:54 【问题描述】:

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

以下代码需要添加到manifest中

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

根据文档,上述示例允许您的应用查看已安装的支持 JPEG 图像共享的应用:

https://developer.android.com/training/basics/intents/package-visibility#intent-signature

谁能帮助我在导航应用程序(谷歌导航、uber)和邮件应用程序(如 outllok、gmail)中需要使用哪些“操作”和“数据”?

提前致谢!

【问题讨论】:

【参考方案1】:

您应该在 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:”网址,但它们无法在 Android 11+ 上运行。将上面的 sn-p 添加到我的应用程序清单中修复了它,谢谢!【参考方案2】:

我发现我的应用在 Android 11 升级后无法运行,这令人沮丧,而且发行说明中似乎存在与意图查询有关的空白。

以下代码可用于电子邮件,因为我使用了 SENDTO 意图,但是如果您使用了 SEND 意图,请将其更改为那个。

<queries>
    <intent>
        <action android:name="android.intent.action.SENDTO" />
        <data android:scheme="mailto" />
    </intent>
</queries>

【讨论】:

【参考方案3】:

在清单中的查询下添加此意图对我有用

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

【讨论】:

以上是关于安卓 11 |地图导航的包可见性更改的主要内容,如果未能解决你的问题,请参考以下文章

最好用的五个安卓地图软件

安卓手机怎么实现nfc导航

安卓软件嵌入高德地图如何实现上下挪动?我开发一个安卓软件,现在嵌入的高德地图可以左右移动,但是无法

uniapp 开发安卓App实现高德地图路线规划导航

官方回复在安卓iOS中从app内通过androidamap://等协议唤醒手机上的高德地图app进行导航,高德平台会收费吗?高德地图URI API调用(安卓ios端)是否免费 - 商用5W一年

官方回复在安卓iOS中从app内通过androidamap://等协议唤醒手机上的高德地图app进行导航,高德平台会收费吗?高德地图URI API调用(安卓ios端)是否免费 - 商用5W一年