Java 如何检测用户是否第一次使用我的应用程序?
我想知道用户是否是第一次使用该应用程序。我使用的是Java 如何检测用户是否第一次使用我的应用程序?,java,android,sharedpreferences,Java,Android,Sharedpreferences,我想知道用户是否是第一次使用该应用程序。我使用的是SharedReferences,但我不确定我的逻辑是否正确 如何在用户首次启动时将myisFirstLaunchedboolean设置为true,然后在完成工作后立即设置为false protected void onStart() { super.onStart(); if(isFirstLaunch()){ populateDefaultQuotes();
SharedReferences
,但我不确定我的逻辑是否正确
如何在用户首次启动时将myisFirstLaunched
boolean设置为true,然后在完成工作后立即设置为false
protected void onStart() {
super.onStart();
if(isFirstLaunch()){
populateDefaultQuotes();
//Save the preferences, isFirstLaunch will now be false
SharedPreferences settings = getSharedPreferences(Constants.PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("isFirstLaunch", false);
editor.commit();
}
setupUI();
checkOrientation();
restoreCache();
}
private void populateDefaultQuotes(){
System.out.println("!!!!!! FIRST TIMER !!!!!!");
}
private boolean isFirstLaunch() {
// Restore preferences
SharedPreferences settings = getSharedPreferences(Constants.PREFS_NAME, 0);
boolean isFirstLaunch = settings.getBoolean("isFirstLaunch", false);
return isFirstLaunch;
}
将
getBoolean()
中的false
参数替换为true
,然后逻辑将适合
boolean isFirstLaunch = settings.getBoolean("isFirstLaunch", true);
如果没有这样的设置,这将返回
true
。您可以注册一个BroadcastReceiver来监听意图。操作\u程序包\u首先\u启动请注意,如果用户从应用程序管理器中清除数据,共享引用将被删除。这一点很好。有比SharedReference更正确的解决方案吗?