在 flutter 中使用 url 启动器时出现未处理的异常
Unhandled Exception when using url launcher in flutter
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 时网页会自动打开。但是,当我在调试模式下通过 运行ning 应用程序在物理设备上尝试相同操作时,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 将 return false . 有关详细信息,请参阅 Android 文档中的 Managing package visibility 文章。“
因此我假设您没有在 AndroidManifest.xml 文件中提供可见性配置,这导致 canLaunch
到 return false
.
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 时网页会自动打开。但是,当我在调试模式下通过 运行ning 应用程序在物理设备上尝试相同操作时,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 将 return false . 有关详细信息,请参阅 Android 文档中的 Managing package visibility 文章。“
因此我假设您没有在 AndroidManifest.xml 文件中提供可见性配置,这导致 canLaunch
到 return false
.