FLUTTER:url_launcher 库和 Android 包可见性错误

问题描述

我正在使用 url_launcher: 从我的应用打开 youtube、instagram、facebook 和电报链接。在我升级到最新的 Flutter 和 Dart 插件之前,它一直运行良好。

升级到最新版本的 Flutter 和 Dart 后,canLaunch(url) 函数开始失败,从文档看来,我必须遵循符合 Android 的指南此处提到的包可见性https://developer.android.com/training/package-visibility

它开始适用于所有设备,并且似乎也适用于所有 Android-11 设备和模拟器。但它只在三星S20上无法打开相同的链接

有什么帮助吗?我只是通过这个功能打开Youtube、Instagram、Telegram、Soundcloud等一些链接

static launchAction(String url) async {
    if (await canLaunch(url)) {
      await launch(url);
    } else {
      throw 'Could not launch $url';
    }
  }

-- 仅在 S20 上抛出“无法启动 $url”错误。使用 Android-11

ANY HELP PLEASE???

我已将 AndroidManifest 修改如下,之后它可以在大多数设备上运行,但不能在 SAMSUNG S20 上运行;

    <queries>
        <!-- Specific apps you interact with,eg: -->
        <package android:name="com.google.android.youtube" />
        <package android:name="com.facebook.katana" />
        <package android:name="com.instagram.android" />
        <package android:name="org.telegram.messenger" />
        <package android:name="com.soundcloud.android" />
    </queries>

解决方法

您会尝试使用其他软件包吗?

https://pub.dev/packages/device_apps

if (await DeviceApps.isAppInstalled('com.nbt.moves')) {
    DeviceApps.openApp('com.nbt.moves');
}