在 android 11 上无法在 WhatsApp 上共享数据

Sharing data on WhatsApp not working on android 11

在 API 30 上升级我的项目后,我通过 Intent 检查了 WhatsApp 数据共享,但由于 Package visibility in Android 11

无法在 android 11 设备上工作可能 b
 val imgBitmapPath = MediaStore.Images.Media.insertImage(mContext.contentResolver, bitmap, "eVitalRx_Greetings_" + Calendar.getInstance().getTime(), null)
    val imgUri = Uri.parse(imgBitmapPath)
    val whatsappIntent = Intent(Intent.ACTION_SEND)
    if (appInstalledOrNot(mContext, "com.whatsapp")) {
        whatsappIntent.setPackage("com.whatsapp")
    } else {
        whatsappIntent.setPackage("com.whatsapp.w4b")
    }
    whatsappIntent.putExtra(Intent.EXTRA_TEXT, msg)
    whatsappIntent.putExtra(Intent.EXTRA_STREAM, imgUri)
    whatsappIntent.type = "image/jpeg"
    whatsappIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
    try {
        mContext.startActivity(whatsappIntent)
    } catch (ex: ActivityNotFoundException) {
        Toast.makeText(mContext, "Whatsapp not installed", Toast.LENGTH_LONG).show()
    }

它在 android 11 设备中显示消息 "Whatsapp not installed"

有人对此有解决方案吗?

将此添加到清单文件中,希望对您有所帮助you.Please让我知道它是否有效...... <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:ignore="QueryAllPackagesPermission" />

最后,我通过花时间查看原始文档和其他一些链接得到了答案。

如果您想与其他应用程序进行任何类型的交互,您必须将包的名称添加到清单文件中。

 <queries>
       
        <package android:name="com.whatsapp" />
        <package android:name="com.whatsapp.w4b" />
       
 </queries>