Необработанное исключение при использовании средства запуска URL во флаттере
RichText(
text: TextSpan(
children: [
TextSpan(
text: "Soumik's LinkedIn Profile",
style:
TextStyle(fontSize: 20.0, color: Colors.blue),
recognizer: TapGestureRecognizer()
..onTap = () async {
var url =
"https://www.linkedin.com/in/soumik-mukherjee-438b451b5/";
if (await canLaunch(url)) {
await launch(url);
} else {
throw "Failed to open LinkedIn";
}
},
)
],
),
),
Я написал этот код на флаттере, чтобы запустить URL моего профиля в LinkedIn. Когда я запускаю это на эмуляторе, он отлично работает, поскольку веб-страница открывается автоматически, когда я нажимаю на URL-адрес. Но когда я попробовал то же самое на физическом устройстве, запустив приложение в режиме отладки, URL-адрес не ответил. Вместо этого я получаю сообщение об ошибке в консоли.
1 ответ
Я предполагаю, что на вашем POCO X2 установлен Android 11, что соответствует уровню API 30.
Вот документация для функции: https://pub.dev/documentation/url_launcher/latest/url_launcher/canLaunch.html.
В документации говорится: «В Android (из API 30) canLaunch вернет false, если требуемая конфигурация видимости не указана в файле AndroidManifest.xml. Для получения дополнительной информации см. Статью « Управление видимостью пакета » в документации Android».
Поэтому я предполагаю, что вы не предоставили конфигурацию видимости в файле AndroidManifest.xml, что вызывает
canLaunch
возвращаться
false
.