Android 只显示一次引导页

Android 只显示一次引导页

以前一直被网络上的代码坑,这次做个记录,也算是帮一帮正在被坑的人

这个方法不需要创建新的Activity或者Fragment

其实这个功能的逻辑是:当你第一次点击app的时候,显示引导页,而在按返回键后回到app界面或是第二次开启app时,不显示引导页。

因此,只需要在不需要二次显示界面的Activity或者Fragment中编写此功能

代码如下:(引导页:FlashActivity,注册页:LoginActivity)

public class FlashActivity extends Activity {


    private SharedPreferences mPreferences;

    /**
     * @param savedInstanceState
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        SharedPreferences jame = getSharedPreferences("jame", 0);//创建一个文件用来储存app的开启次数状态
        boolean isFirst = jame.getBoolean("isFirst", true);//这个文件里面的布尔常量名,和它的初始状态,状态为是,则触发下面的方法
        if (isFirst) {
            setContentView(R.layout.activity_flash);//显示引导页界面
            SharedPreferences.Editor edit = jame.edit();//创建状态储存文件
            edit.putBoolean("isFirst", false);//将参数put,改变其状态
            edit.commit();//保证文件的创建和编辑
            new CountDownTimer(1000, 1000) //这个方法是一个计时器
            {
                @Override
                public void onTick(long millisUntilFinished) {
                }

                @Override
                public void onFinish() {

                    Intent intent = new Intent();
                    intent.setClass(FlashActivity.this, LoginActivity.class);
                    startActivity(intent);
                    //下面的功能实现了引导页的逐渐关闭
                    int VERSION = Integer.parseInt(android.os.Build.VERSION.SDK);
                    if (VERSION >= 5) {
                        FlashActivity.this.overridePendingTransition(R.anim.alpha_in, R.anim.alpha_out);
                    }
                    finish();
                }
            }.start();
        } else {
            setContentView(R.layout.activity_login);//否则就显示注册界面
        }
    }


}

你可能感兴趣的:(引导页)