代码之家  ›  专栏  ›  技术社区  ›  Sheehan Alam

如何检测用户是否首次使用我的应用程序?

  •  2
  • Sheehan Alam  · 技术社区  · 14 年前

    我想知道用户是否第一次使用该应用程序。我正在使用 SharedPreferences 但是我不确定我是否有正确的逻辑。

    我怎么设置我的 isFirstLaunched 布尔值在用户首次启动时为真,然后在完成工作后立即设置为假?

    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;
        }
    
    2 回复  |  直到 14 年前
        1
  •  5
  •   BalusC    14 年前

    替换 false 论点 getBoolean() 通过 true ,那么逻辑就适合了。

    boolean isFirstLaunch = settings.getBoolean("isFirstLaunch", true); 
    

    这个会回来的 如果没有这样的设置。

        2
  •  0
  •   user538565    14 年前

    您可以注册一个广播接收器来监听意图。action_package_first_launch

    http://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_FIRST_LAUNCH