Android 原生应用跳转至flutter,返回键问题
2018-12-21 本文已影响0人
程序员WW
原生应用集成flutter参考我的上一篇文章
在使用中发现了一个问题,原生Activity跳转到flutter,flutter内部打开了多个flutter界面,一按手机返回键直接返回到上一个activity了,而不是返回到上一个flutter界面。
操作 :MainAcitvity->FlutterActivity(添加flutterview的activity)->main.dart->test.dart 点击手机的返回键
预期:返回到main.dart界面
实际:返回到 MainActivity
原因:flutter是已view的形式加载到activity中的,flutter内部打开其他界面其实还是在当前activity中,手机的返回事件被activity监听到,所以返回到时上一个Activity了。
解决办法:
重写activity的onBackPressed方法,拦截返回事件,调用flutterView的popRoute方法。
@Override
public void onBackPressed() {
if(this.flutterView!=null){
this.flutterView.popRoute();
}else {
super.onBackPressed();
}
}