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

系统 1687 0

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


      /*方法一:
 * 首次打开的时候获取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();
}
    


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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论