问题描述
我正在为具有远程教育系统的站点准备一个Webview应用程序。该站点的基础结构是moodle,bigbluebutton用于现场课程。当我们单击实时课程时,浏览器为旧版本时出现错误,请使用新版本。 Bigblubutton使用最健康的铬。我使用flutter_inappwebview插件添加了chrome基础架构,但仍然遇到相同的错误。我将样本网址留在下面。如果您能帮助我,我会很高兴。 bigbluebutton:https://test.bigbluebutton.org/ 我使用的插件:https://pub.dev/packages/flutter_inappwebview
完整代码
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
class MyInAppBrowser extends InAppBrowser {
@override
Future onLoadStart(String url) async {
print("\n\nStarted $url\n\n");
}
@override
Future onLoadStop(String url) async {
print("\n\nStopped $url\n\n");
}
@override
void onLoadError(String url,int code,String message) {
print("\n\nCan't load $url.. Error: $message\n\n");
}
@override
void onExit() {
print("\n\nBrowser closed!\n\n");
}
}
class MyChromeSafariBrowser extends ChromeSafariBrowser {
MyChromeSafariBrowser(browserFallback) : super(bFallback: browserFallback);
@override
void onOpened() {
print("ChromeSafari browser opened");
}
@override
void onCompletedInitialLoad() {
print("ChromeSafari browser initial load completed");
}
@override
void onClosed() {
print("ChromeSafari browser closed");
}
}
void main() {
WidgetsFlutterBinding.ensureInitialized();
runApp(
new MyApp(),);
}
class MyApp extends StatefulWidget {
final ChromeSafariBrowser browser = new MyChromeSafariBrowser(new MyInAppBrowser());
@override
_MyAppState createState() => new _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
void initState() {
widget.browser.addMenuItem(new ChromeSafariBrowserMenuItem(id: 1,label: 'Custom item menu 1',action: (url,title) {
print('Custom item menu 1 clicked!');
print(url);
print(title);
}));
widget.browser.addMenuItem(new ChromeSafariBrowserMenuItem(id: 2,label: 'Custom item menu 2',title) {
print('Custom item menu 2 clicked!');
print(url);
print(title);
}));
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('ChromeSafariBrowser Example'),),body: Center(
child: RaisedButton(
onPressed: () async {
await widget.browser.open(
url: "https://test.bigbluebutton.org/",options: ChromeSafariBrowserClassOptions(
android:
AndroidChromeCustomTabsOptions(addDefaultShareMenuItem: false,enableUrlBarHiding: true,packageName: "com.android.chrome"),ios: IOSSafariOptions(barCollapsingEnabled: true)));
},child: Text("Open Chrome Safari Browser")),);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)