fluttercommunity / fluttercommunity/flutter_webview_plugin

How listen javascript funciton name from flutter

未关闭
#404 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
waiting for feedback
主要语言
Java
星标
1.5k
派生
936
PR 合并指标
30 天内没有已合并 PR

描述

how listen Javascriptinterface function name from flutter here is myCode.
Webviewmanager.java
@JavascriptInterface
public void loginFacebook() {
src.main.java.com.flutter_webview_plugin.FlutterWebviewPlugin.channel.invokeMethod("fbLogin" , null);
}

I want to know how listen that function from flutter.
void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
@override
State createState() {
// TODO: implement createState
return _Main();
}
}

class _Main extends State {
final _webviewPlugin = FlutterWebviewPlugin();
StreamSubscription _onDestroy;

@override
void initState() {
super.initState();

_webviewPlugin.onUrlChanged.listen((String url) {
print(url);
});

_webviewPlugin.onDestroy.listen((_) => SystemNavigator.pop());
}

void dispose(){
_webviewPlugin.dispose();
super.dispose();
}

@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
theme: new ThemeData(primaryColor: Colors.deepOrange),
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: PreferredSize(
child: Container(),
preferredSize: Size.fromHeight(0.0),
),
body: WebviewScaffold(
url: selectUrl,
appCacheEnabled: true,
withLocalStorage: true,
withJavascript: true,
supportMultipleWindows: true,
hidden: true,
withZoom: true,
),
),
);
}
}

贡献指南

这个仓库没有索引到贡献指南

调研方向

先从 Webviewmanager.java 和 issue 中对 FlutterWebviewPlugin 的使用开始,然后查看 WebviewScaffold 以及现有的 onUrlChanged/onDestroy API。明确将 loginFacebook 回调暴露给 Flutter 的受支持方式,并记录一个完整且可验证的使用示例。

由索引模型根据 Issue 内容生成。

评估

技术栈
dart, java
领域
mobile-dev
Issue 类型
文档
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
20/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。