flutter实现桌面返回功能
最近在写flutter的App,需要实现返回键退出时回到桌面而不是退出App
上网找了些资料,但是由于都是老版本,导致
- FlutterActivity引用的位置不一样
- GeneratedPluginRegistrant.registerWith(this)的this应用不成功
- 没有getFlutterView()方法
查询了部分资料后,发现以前的FlutterActivity已经被废弃,需要根据最新的方法写逻辑。
首先在android包下的MainActivity中,修改
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
//返回手机桌面事件
static final String eventBackDesktop = "backDesktop";
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
//通讯名称,回到手机桌面
String CHANNEL = "android/back/desktop";
new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger