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页面去掉标题全屏的方法-第一次用安卓试试看
  3. Android疑惑记录-----在Adapter中配置按钮监听器时,列表项内容获
  4. android 圆角按钮和按钮颜色
  5. Android 之读取元素中的数据
  6. android 项目中接入flutter模块(部分页面)
  7. Android 读取元素中的数据
  8. Android Studio中设置ButterKnife、android butterknife zelezny
  9. ViewPager的定时滚动,动态加载数据

随机推荐

  1. Android Handler初步了解
  2. android sdk 各个版本的区别
  3. Android中使用Serializable和Parcelable
  4. 旋转中 android 的视图按钮
  5. (超详细)android中SqLite数据库的使用(一文
  6. Android 系统的架构
  7. AlertDialog实现普通对话框和登录对话框
  8. Android(安卓)VideoView如何播放RTSP的流
  9. Android开发(二十七)——android:layout_we
  10. Android EventBus框架入门