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

Ionic v3 Social Sharing插件在Android API 30(Android11)上分享失效

问题根因

Android 11(API 30)新增了包可见性权限限制,默认情况下应用只能查询到系统预设的白名单应用,无法直接获取设备上安装的第三方应用列表。你使用的社交分享接口需要先检测目标应用是否安装,没有适配包可见性规则的话,就会获取不到第三方应用信息,调用失败。
你控制台返回的com.android.bluetooth、com.android.google.gms、com.android.bips都属于系统白名单内的默认可见应用,就是因为没有配置查询权限,系统仅返回了这些系统级应用的信息,没有返回WhatsApp等第三方应用的信息,导致检测逻辑判定目标应用不存在。

修复步骤
  • 打开安卓模块根目录下的AndroidManifest.xml文件,在<manifest>节点(与<application>节点同级)中添加<queries>配置,声明你需要查询的分享应用包名:
<manifest ...>
    <!-- 其他现有配置 -->
    <queries>
        <!-- 检测WhatsApp需要配置的包名 -->
        <package android:name="com.whatsapp" />
        <!-- 如果有其他分享渠道需求,继续添加对应应用的包名即可,示例如下 -->
        <!-- <package android:name="com.tencent.mm" /> -->
        <!-- <package android:name="com.instagram.android" /> -->
    </queries>

    <application ...>
        <!-- 其他现有配置 -->
    </application>
</manifest>
  • 若你使用的是Ionic/Cordova的social-sharing插件,需将插件升级到v5.36.0及以上的版本,旧版本没有适配API 30的包可见性规则。
  • 配置完成后重新构建APK安装测试,canShareVia接口即可正常检测WhatsApp的安装状态。

内容的提问来源于stack exchange,提问作者Gladisson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 23:06:03