Flutter针对Android返回键回到桌面最靠谱的方法
初衷:看了网上五花八门的方法改什么MainActivity和增加一个Java类,这简直让没有接触过安卓的前端一头雾水,咱搞flutter就是只动flutter别搞那些歪门邪道动改西改的,所以废话不多说,下面就来讲解方法
首先小白还是要先看看这个文章:
https://blog.csdn.net/woshizisezise/article/details/47423057
补充注释后的安卓核心代码:
// 初始化一个intent
Intent home = new Intent(Intent.ACTION_MAIN);
// intent携带一个flag
home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// intent携带一个名为home的category
home.addCategory(Intent.CATEGORY_HOME);
// 执行
startActivity(home);
相信通过上面解释小白也能明白,就是用一个intent装上一些返回home的配置,最后执行即可
那么在flutter该怎么做?也是先从intent搞起,先安装下面这个依赖
intent: ^1.4.0
在需要的dart文件下引入
import 'package:intent/intent.dart' as android_intent;
import 'package:intent/action.dart' as android_action;
import 'package:intent/flag.dart' as android_flag;
然后加上五行代码即可
return WillPopScope(
child: HomePage(),
onWillPop: () async {
// 返回桌面而不是关掉APP
android_intent.Intent()
..setAction(android_action.Action.ACTION_MAIN)
..addFlag(android_flag.Flag.FLAG_ACTIVITY_NEW_TASK)
..addCategory("android.intent.category.HOME")
..startActivity().catchError((e) => print(e));
return false;
},
);
效果就不演示了,小白也不需要明白,直接复制粘贴,一把梭
梭成功的麻烦给个赞,把那些没用的文章赶紧弄走