Android 只显示一次引导页

来源:互联网 发布:怎么看mac系统版本 编辑:程序博客网 时间:2024/06/05 04:34

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);//否则就显示注册界面        }    }}
阅读全文
0 0
原创粉丝点击