Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在Flatter中获得Chrome支持的webview?_Android_Google Chrome_Webview_Dart_Flutter - Fatal编程技术网

Android 如何在Flatter中获得Chrome支持的webview?

Android 如何在Flatter中获得Chrome支持的webview?,android,google-chrome,webview,dart,flutter,Android,Google Chrome,Webview,Dart,Flutter,我最近注意到,当在一些Android应用程序中打开一个链接时,它们会有类似的外观和感觉,自定义菜单下面会有“由Chrome供电”的自定义操作菜单。该浏览器中使用了什么组件,还是Chromium WebView?希望我能将它们添加到我的下一个项目中,包括在应用程序中打开链接。以实现类似于颤振中的桌面视图 方格:安德烈 webview:chrome支持的webview,具有自定义选项 框架:颤振 LinkedIn应用程序 GMail应用程序 我的医生: [√] Flutter (Channel

我最近注意到,当在一些Android应用程序中打开一个链接时,它们会有类似的外观和感觉,自定义菜单下面会有“由Chrome供电”的自定义操作菜单。该浏览器中使用了什么组件,还是Chromium WebView?希望我能将它们添加到我的下一个项目中,包括在应用程序中打开链接。以实现类似于颤振中的桌面视图

方格:安德烈 webview:chrome支持的webview,具有自定义选项 框架:颤振

LinkedIn应用程序

GMail应用程序

我的医生:

[√] Flutter (Channel beta, v0.11.9, on Microsoft Windows [Version 
10.0.17134.407], locale en-IN)
[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[√] Android Studio (version 3.2)
[√] VS Code (version 1.29.1)
[√] VS Code, 64-bit edition (version 1.26.1)
[!] Connected device
! No devices available
我的github问题:


提前感谢。

您可以使用此软件包:

但请注意,此行为仅在Android上有效,在iOS上将使用Safari webview。

您可以尝试我的插件(编辑:它已重命名为)。为此,您需要使用该类

它在Android和iOS上使用

您可以使用InAppBrowser回退实例初始化ChromeSafariBrowser实例

例如:

导入“包装:颤振/材料.省道”;
导入“包:flatter_inappwebview/flatter_inappwebview.dart”;
类MyInAppBrowser扩展了InAppBrowser{
@凌驾
未来onLoadStart(字符串url)异步{
打印(“\n\n开始的$url\n\n”);
}
@凌驾
未来onLoadStop(字符串url)异步{
打印(“\n\n阻止的$url\n\n”);
}
@凌驾
void onLoadError(字符串url、int代码、字符串消息){
打印(“\n\n无法加载$url..错误:$message\n\n”);
}
@凌驾
void onExit(){
打印(“\n\n浏览器已关闭!\n\n”);
}
}
类MyChromeSafariBrowser扩展了ChromeSafariBrowser{
MyChromeSafariBrowser(browserFallback):超级(bFallback:browserFallback);
@凌驾
无效开启(){
打印(“打开ChromeSafari浏览器”);
}
@凌驾
void onload(){
打印(“已加载ChromeSafari浏览器”);
}
@凌驾
一经关闭无效(){
打印(“ChromeSafari浏览器关闭”);
}
}
void main()=>runApp(新的MyApp());
类MyApp扩展了StatefulWidget{
最终ChromeSafariBrowser浏览器=新的MyChromeSafariBrowser(新的MyInAppBrowser());
@凌驾
_MyAppState createState()=>new_MyAppState();
}
类MyAppState扩展了状态{
@凌驾
void initState(){
super.initState();
}
@凌驾
小部件构建(构建上下文){
返回材料PP(
家:脚手架(
appBar:appBar(
标题:常量文本(“ChromeSafariBrowser示例”),
),
正文:中(
孩子:升起按钮(
onPressed:()异步{
等待widget.browser.open(
url:“https://flutter.dev/",
选项:ChromeSafariBrowserClassOptions(
AndroidChromeCustomAbsOptions:AndroidChromeCustomAbsOptions(addShareButton:false),
iosafarioptions:iosafarioptions(barCollapsingEnabled:true));
},
子项:文本(“打开Chrome Safari浏览器”),
),
),
);
}
}

那不是一个网络视图,叫做
Chrome自定义选项卡
是的,那是如何在flutter上获得它的?投票给我的问题:)我正在使用你的插件。您知道是否可以全屏使用ChromeSafariBrowser类?(没有显示URL栏)我刚刚发现,根据这篇文章,这是不可能的:是否可以在您的webview中运行自定义javascript代码?如果您在发布版本中遇到冻结应用程序的问题,请检查此问题