apk安装完成后直接打开,按home键返回,再次打开,重新启动
2018-06-14 本文已影响0人
hahauha
Android 安装完成后直接点击[打开],导致按home键返回,再次打开,走重启流程。如果先点击【完成】再打开,不会有问题。
解决方法:
在lanchActivity的onCreate()方法中加如下代码,一定要在setContentView()方法之前
if(!this.isTastRoot()){
Intent mainIntent = getIntent();
String action = main.getAction();
if(mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER)&&action.equals(Intent.ACTION_MAIN)){
finish();
return;
}
}
完整onCreate()方法代码参考:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!this.isTaskRoot()) {
Intent intent = getIntent();
if (intent != null) {
String action = intent.getAction();
if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) {
finish();
return;
}
}
} else {
setContentView(R.layout.activity_launch);
initData();
}
}
!!!特别注意,特别注意,特别注意!!!!
一般在项目中我们的activity都会继承统一的BaseActivity,这个时候一定要确保LaunchActivity的onCreate()方法的执行顺序。建议LaunchActivity就不要继承BaseActivity了,这样处理更简单。
被这个原因坑了很久,之前试了很多方法都没有效果,以为是手机兼容性问题,后来才发现是这个原因,核心代码一定要放在setContentView()方法之前。
至于为什么直接点击【打开】和点击【完成】后再打开会有这样的区别,根本原因不是很清楚,有网友说是两种打开方式app所处的任务栈不一样,是Android系统问题。如果有了解原因的大神可以在评论中分享,大家一起学习学习。