Webview在Flutter中显示谷歌照片时出现问题



我正在使用flatter_webview_plugin:^0.3.11

这是我的代码

小工具构建(BuildContext上下文({

return WebviewScaffold(

url:glbPhotoURL,

使用Javascript:true,

滚动条:true,

带缩放:true)

url:glbPhotoURL=>这里glbPhotoURL是我正在传递的URL当我使用任何正常的URL时,它运行良好(比如http://www.google.com,http://youtube.com"甚至url类似-https://youtu.be/o5UPfG1eIw4运行良好

但当我使用任何谷歌照片url(短url(时,它会抛出一个错误网::ERR_UNKNOWN_url_SCHEME,例如-https://photos.app.goo.gl/FkQenAD8kQQc4TSr6

如果我使用扩展的URL,它会显示图片-https://photos.google.com/share/AF1QipNItZG3Cg_hn9__2QnuVh3nNMbRuGxQaQSWZ76qni7L7h0ORbauolcH3AKe0MOnEA?密钥=emc1Mk1CenRJRjloMjV5V1AzcmczNUprcGFsbmR3

请帮我解决这个问题到目前为止,我正在Android物理设备上运行它。

谷歌照片使用Firebase动态链接。我建议从外部启动链接。我以前在Android上遇到过类似的错误,当时Firebase动态链接被强制加载到WebView中。FDL预计将由安卓系统中的谷歌播放服务处理。但是由于WebView不知道如何处理它被迫显示的链接;net::ERR_UNKNOWN_URL_SCHEME";错误

使用url_launcher从外部打开链接。使用RegEx过滤意向URL,并检查URL是否可以启动并在外部(应用程序外部(处理。

var yourURL = "URL goes here";
// Check if URL contains Google Photos URL
yourURL.contains(RegExp('^https://photos.app.goo.gl/.*$')){
// Check if the URL can be launched
if (await canLaunch(yourURL)) {
await launch(yourURL);
} else {
print('Could not launch $yourURL');
}
}

最新更新