检测用户是否是第一次打开应用

很多时候我们需要检测用户是不是第一次打开应用,从而初始化一些数据,或者打开引导界面等等。


/*方法一:
 * 首次打开的时候获取isFirstIn值,默认值为false
 * 获得false,证明不是第一次打开
 * 获得true,证明是第一次打开;然后把isFirstIn值设为false
 * */
SharedPreferences sp = getSharedPreferences("isFirstIn", Activity.MODE_PRIVATE);  
boolean isFirstIn = sp.getBoolean("isFirstInWith1.4", true);  
if(isFirstIn) {  
    SharedPreferences.Editor editor = sp.edit();  
    editor.putBoolean("isFirstInWith1.4", false);  
    editor.commit();  
      
    new AlertDialog.Builder(this).setMessage("这是第一次打开").show();  
} else {  
    new AlertDialog.Builder(this).setMessage("你打开了n次了").show();  
}

注:因为在用户安装新版本的时候,我们想要的也是显示第一次打开,但是版本更新是会保留上一版本的数据的,所以检测到的是之前有打开过。

所以我们在每一个版本检测的key中加入版本号,如上面的isFirstInWith1.4,其中1.4就是版本号。

/*方法二:
 * 在首次打开的时候检查是否存在文件(com.example.test.isFirstIn)
 * 如果已存在,证明不是第一次打开
 * 不存在,证明是第一次打开;打开之后创建文件
 * */
File dir = getFilesDir();//   /data/data/com.example.test/files
File f = new File(dir, "com.example.test.isFirstIn");
Log.e("miquan", f.getAbsolutePath());

if(f.exists()) {
	//dosomething
	new AlertDialog.Builder(this).setMessage("你打开了n次了").show();
} else {
	try {
		f.createNewFile();
	} catch (IOException e) {
		e.printStackTrace();
	}
	//dosomething
	new AlertDialog.Builder(this).setMessage("这是第一次打开").show();
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值