Android

Android APP首次/首次今日启动判断

2020-06-06  本文已影响0人  蒙多喝醉了

拿走不谢!

1.APP首次启动判断

2.APP今日启动判断

上菜:

    /**
     * 判断是否是首次启动
     * 
     *  此方法启动调用第一次是准确值,如果在一次启动中多次调用,即使是首次启动,第二次调用也会变成非首次启动,若需要多次获取,可以赋新值使用,每次启动只能调用此方法一次,赋值获取
     * @param context
     * @return
     */
    public static boolean isFirstStart(Context context) {
        SharedPreferences preferences = context.getSharedPreferences(
                "NB_FIRST_START", 0);
        Boolean isFirst = preferences.getBoolean("FIRST_START", true);
        if (isFirst) {// 第一次
            preferences.edit().putBoolean("FIRST_START", false).commit();
            return true;
        } else {
            return false;
        }
    }
    
    /**
     * 判断是否是今日首次启动APP
     * @param context
     * @return
     */
    public static boolean isTodayFirstStartApp(Context context) {
        try {
            SharedPreferences preferences = context.getSharedPreferences("NB_TODAY_FIRST_START_APP", context.MODE_PRIVATE);
            String svaeTime = preferences.getString("startAppTime", "2020-01-08");
            String todayTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date());

            if (!TextUtils.isEmpty(todayTime) && !TextUtils.isEmpty(svaeTime)) {
                if(!svaeTime.equals(todayTime)) {
                    preferences.edit().putString("startAppTime", todayTime).commit();
                    return true;
                }
            }

        }catch (Exception e){
            log(TAG, "是否为今日首次启动APP,获取异常:"+e.toString());
            return true;
        }
        return  false;

    }
上一篇 下一篇

猜你喜欢

热点阅读