Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.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
Flutter 颤振ChromeSafariBrowser在设备具有除Chrome以外的默认浏览器时不启动_Flutter_Dart_Webview - Fatal编程技术网

Flutter 颤振ChromeSafariBrowser在设备具有除Chrome以外的默认浏览器时不启动

Flutter 颤振ChromeSafariBrowser在设备具有除Chrome以外的默认浏览器时不启动,flutter,dart,webview,Flutter,Dart,Webview,我正在我的应用程序中使用。我在Android设备上运行应用程序时遇到问题,该设备的默认浏览器不是Chrome浏览器。在这种情况下,ChromeSafariBrowser未运行,InAppBrowser使用设备的默认浏览器启动。 我应该如何解决此问题 我想用chrome启动,即使用户设置了另一个默认浏览器 最终ChromeSafariBrowser浏览器= 新的ChromeSafariBrowser(新的InAppBrowser()); 等待浏览器打开( 网址:loginUrl, 选项:Chrom

我正在我的应用程序中使用。我在Android设备上运行应用程序时遇到问题,该设备的默认浏览器不是Chrome浏览器。在这种情况下,ChromeSafariBrowser未运行,InAppBrowser使用设备的默认浏览器启动。 我应该如何解决此问题

我想用chrome启动,即使用户设置了另一个默认浏览器

最终ChromeSafariBrowser浏览器=
新的ChromeSafariBrowser(新的InAppBrowser());
等待浏览器打开(
网址:loginUrl,
选项:ChromeSafariBrowserClassOptions(
安卓:
AndroidChromeCustomAbsOptions(addDefaultShareMenuItem:false,
packageName:“com.android.chrome”),
ios:iosafarioptions(barCollapsingEnabled:true));

您也可以使用WebViewFlatter

在pubspec.yml文件中添加依赖项:

webview_flutter: ^0.1.1
对于ioS应用程序,请在ioS项目文件夹中的.plist文件中粘贴以下键

<key>io.flutter.embedded_views_preview</key><string>yes</string>
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>
io.flatter.embedded\u视图\u预览
NSAppTransportSecurity
NSAllowsArbitraryLoads
NSAllowsArbilarLoadsInWebContent
这是课程代码:

import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'dart:async';

class WebViewClass extends StatefulWidget {
  @override
  _WebViewClassState createState() => _WebViewClassState();
}

class _WebViewClassState extends State<WebViewClass> {
  Completer<WebViewController> _controller = Completer<WebViewController>();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('WebView'),
      ),
      body: WebView(
        initialUrl: 'https://google.com',
        onWebViewCreated: (WebViewController webViewController) {
          _controller.complete(webViewController);
        },
      ),
    );
  }
}
导入“包装:颤振/材料.省道”;
导入“package:webview_flatter/webview_flatter.dart”;
导入“dart:async”;
类WebViewClass扩展StatefulWidget{
@凌驾
_WebViewClassState createState()=>\u WebViewClassState();
}
类_WebViewClassState扩展状态{
Completer _controller=Completer();
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:常量文本(“网络视图”),
),
正文:WebView(
初始URL:'https://google.com',
onWebViewCreated:(WebViewController WebViewController){
_控制器。完成(webViewController);
},
),
);
}
}

请编辑您的问题并添加您尝试过的代码,以便我们能够正确地帮助您。谢谢。@xendi完成了!ChromeSafariBrowser在Flitter web上工作吗?我想在我的网页中使用google sign。使用web view,google不允许使用除chrome以外的其他浏览器登录。根据问题,URL应该只在google chrome浏览器上打开,而不在任何其他浏览器上打开。这有什么帮助,你能解释一下吗?