首页 > 代码库 > 检測用户是否是第一次打开应用
检測用户是否是第一次打开应用
非常多时候我们须要检測用户是不是第一次打开应用,从而初始化一些数据,或者打开引导界面等等。
/*方法一: * 首次打开的时候获取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(); }
检測用户是否是第一次打开应用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。