【关键词】
欢迎界面
【问题】
如果设置了欢迎界面,那么每次启动都会展示3s钟的欢迎界面,体验不太好;
为了提高用户体验,如果程序刚启动过,只要没有进行清除后台的操作;那么就跳过欢迎界面;
【分析】
启动程序后,Application 的onCreate()方法会调用一次,退出程序了之后,如果没有进行清除后台的操作,再次进入的时候不会再调用 onCreate()方法,利用这一个特性就可以很好的解决问题;
【解决方案】
【代码】
在自定义的Application中添加
public class LouApplication extends Application {
public static boolean SKIP_WELCOME;
@Override
public void onCreate() {
// 首次启动不跳过欢迎界面;
SKIP_WELCOME = false;
super.onCreate();
}
}
修改Manifest的application标签
<application
android:name="com.lyloou.android.LouApplication"
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="@string/app_name"
android:theme="@style/AppTheme">
在欢迎界面的activity或fragment中添加
// 如果 Application 已经存在,那么就跳过欢迎界面;
if(LouApplication.SKIP_WELCOME){
Intent intent = new Intent(mContext, SyncActivity.class);
startActivityForResult(intent, 0);
return;
}
// 如果刚打开过,下一次启动就跳过欢迎界面;
LouApplication.SKIP_WELCOME = true;
【扩展】
正在进入欢迎界面的时候,禁止其他操作
// 取消一切点击事件
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return false;
}