fluttercommunity / fluttercommunity/flutter_webview_plugin
How listen javascript funciton name from flutter
- 主要语言
- 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