gpt4 book ai didi

flutter - 当设备使用Chrome以外的默认浏览器时,Flutter ChromeSafariBrowser无法启动

转载 作者:行者123 更新时间:2023-12-03 03:04:01 24 4
gpt4 key购买 nike

我在我的应用程序中使用ChromeSafariBrowser。在将Chrome以外的浏览器设置为默认浏览器的Android设备上运行应用程序时,我遇到问题。在这种情况下,ChromeSafariBrowser不会运行,并且会使用设备的默认浏览器启动InAppBrowser。
我应该怎么做才能解决这个问题?

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

    final ChromeSafariBrowser browser =
new ChromeSafariBrowser(new InAppBrowser());


await browser.open(
url: loginUrl,
options: ChromeSafariBrowserClassOptions(
android:
AndroidChromeCustomTabsOptions(addDefaultShareMenuItem: false,
packageName: "com.android.chrome"),
ios: IOSSafariOptions(barCollapsingEnabled: true)));

最佳答案

您也可以使用webviewflutter

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

webview_flutter: ^0.1.1

对于ioS App,下面的键将粘贴到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>

这是类代码:
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);
},
),
);
}
}

关于flutter - 当设备使用Chrome以外的默认浏览器时,Flutter ChromeSafariBrowser无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62318748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com