FLUTTER: библиотека url_launcher и ошибка видимости пакета Android
Я использую url_launcher: для открытия ссылок на YouTube, Instagram, Facebook и Telegram из моего приложения. Раньше он работал нормально, пока я не обновился до последних плагинов Flutter и Dart.
При обновлении до последних версий Flutter и Dart функция canLaunch(url) начала давать сбой, и из документации выяснилось, что я должен следовать рекомендациям в соответствии с видимостью пакетов Android, как указано здесь; https://developer.android.com/training/package-visibility
Он начал работать на всех устройствах и, похоже, хорошо работал на всех устройствах Android-11 и эмуляторах. Но только на Samsung S20 открыть такие ссылки не удалось.
Любая помощь? Я просто открываю Youtube, Instagram, Telegram, Soundcloud и некоторые другие ссылки с помощью этой функции;
static launchAction(String url) async {
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
}
- Выдает ошибку "Не удалось запустить $ url" только на S20. С 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>
1 ответ
Вы бы попробовали использовать другой пакет?
https://pub.dev/packages/device_apps
if (await DeviceApps.isAppInstalled('com.nbt.moves')) {
DeviceApps.openApp('com.nbt.moves');
}