public class AppStart {
public static final boolean isFirstStart;
static {
boolean isFirst = false;
String key = "isFirst";
if (SPUtils.getInstance().getBoolean(key, true)) {
SPUtils.getInstance().put(key, false);
isFirst = true;
}
isFirstStart = isFirst;
}
}
object AppStart {
var isFirstStart = false
init {
val key = "isFirst"
if (SPUtils.getInstance().getBoolean(key, true)) {
SPUtils.getInstance().put(key, false)
isFirstStart = true
}
}
}
工具类
object AppStartUtil {
private const val TAG = "AppStartUtil"
fun isFirstStart(key: String, isFirst: () -> Unit) {
if (SPUtils.getInstance().getBoolean(key, true)) {
SPUtils.getInstance().put(key, false)
isFirst.invoke()
}
}
@SuppressLint("SimpleDateFormat")
fun isFirstStartInDay(key: String, isFirst: () -> Unit) {
val lastShowDay = SPUtils.getInstance().getFloat(key, 0f)
Log.d(TAG, "lastShowDay=$lastShowDay")
val simpleDateFormat = SimpleDateFormat("MM.dd")
val date = Date(System.currentTimeMillis())
val today = simpleDateFormat.format(date).toFloat()
if (lastShowDay != today) {
SPUtils.getInstance().put(key, today)
isFirst.invoke()
}
}
}