Android 原生应用跳转至flutter,返回键问题

原生应用集成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();
        }
    }

你可能感兴趣的:(Android 原生应用跳转至flutter,返回键问题)