【问题标题】:Android 11 | Package visibility change for map navigation安卓 11 |地图导航的包可见性更改
【发布时间】: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)中需要使用哪些“操作”和“数据”?

提前致谢!

【问题讨论】:

    标签: android android-intent android-manifest android-11


    【解决方案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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-25
        • 2018-09-30
        • 1970-01-01
        • 2011-10-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多