Flutter之原生交互(Android)

需求: flutter创建一个页面,页面上有个按钮,点击按钮,跳转android原生页面,并传递数据

Flutter端代码

class JumpToAndroid extends StatelessWidget{// 确定MethodChannel中name的唯一性  static const jumpPlugin = const MethodChannel('com.barray.flutterapp/plugin');  @override  Widget build(BuildContext context) {    return Scaffold(      appBar: AppBar(title: Text("跳转到原生页面"),),      body: Container(        child: FlatButton(onPressed: (){          jumpToAndroid();        }, child: Text("跳转Android页面")),      ),    );  }// 异步方法  Future jumpToAndroid() async{    Map map = {"flutter_data":"张三"};// 跳转并传递数据    var result = await jumpPlugin.invokeMethod("androidLocal",map);// 打印android返回的参数    print("result--->$result");  }}

Android端代码

public class MainActivity extends FlutterActivity {// 唯一性    public static final String CHANNEL = "com.barray.flutterapp/plugin";    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        if (getFlutterEngine() != null) {            new MethodChannel(getFlutterEngine().getDartExecutor().getBinaryMessenger(), CHANNEL)                    .setMethodCallHandler((call, result) -> {// flutter端方法名androidLocal                        if ("androidLocal".equals(call.method)) {// 获取传递的数据,并跳转                            Intent intent = new Intent(this, AndroidLocalActivity.class);                            String text = call.argument("flutter_data");                            if (!TextUtils.isEmpty(text)) {                                intent.putExtra(AndroidLocalActivity.NAME, text);                            }                            startActivity(intent);// 通知flutter端返回的结果                            result.success("success");                        } else {                            result.notImplemented();                        }                    });        }    }}

更多相关文章

  1. android中java与js通信(可以用html来做页面,进行交互)
  2. Android中的sqlite简单示例
  3. android api 完整翻译之Contacts Provider (学习安卓必知的api,中
  4. Android(安卓)之读取元素中的数据
  5. android 项目中接入flutter模块(部分页面)
  6. Android(安卓)读取元素中的数据
  7. webkit for android
  8. ViewPager的定时滚动,动态加载数据
  9. [Android]Android数据的四种存储方式

随机推荐

  1. 2011.08.18——— android 图片效果 Imag
  2. Android应用程序创建桌面快捷方式
  3. android jni
  4. Android(安卓)5.1截获HOME键
  5. Android(安卓)Studio 快捷键
  6. 导入android studio 项目错误:Error:(1, 0
  7. Android开发环境搭建,各版本系统下androi
  8. android:ClassNotFoundException for Act
  9. android获得手机的电量
  10. 分享20个Android游戏源码,希望大家喜欢哈!