问题描述
我正在使用 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');
}