问题描述
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";
}
},)
],),
我在 Flutter 上编写了这段代码来启动我的 LinkedIn 个人资料的 URL。当我在模拟器上运行它时,它工作正常,因为当我点击 URL 时网页会自动打开。但是,当我通过在调试模式下运行应用程序在物理设备上尝试相同时,URL 没有响应。相反,我在控制台中收到错误消息。
解决方法
我假设您的 POCO X2 上安装了 Android 11,这是 API 级别 30。
以下是 canLaunch
函数的文档:https://pub.dev/documentation/url_launcher/latest/url_launcher/canLaunch.html。
文档说:“在 Android(来自 API 30)上,当 AndroidManifest.xml 文件中未提供所需的可见性配置时,canLaunch 将返回 false。有关详细信息,请参阅 Android 文档中的 Managing package visibility 文章.”
因此,我假设您没有在 AndroidManifest.xml 文件中提供可见性配置,这会导致 canLaunch
返回 false
。