كيف يمكنني اكتشاف ما إذا كان المستخدم يستخدم طلبي لأول مرة؟
-
04-10-2019 - |
سؤال
أود أن أعرف ما إذا كان المستخدم يستخدم التطبيق لأول مرة. انا استخدم SharedPreferences
, ، لكنني لست متأكدًا مما إذا كان لدي المنطق الصحيح.
كيف يمكنني ضبط بلدي isFirstLaunched
Boolean إلى True عندما يتم تشغيل المستخدم لأول مرة ، ثم تم تعيينه على الفور على خطأ بعد الانتهاء من العمل؟
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;
}
المحلول
استبدال false
حجة في getBoolean()
بواسطة true
, ، ثم المنطق سوف يناسب.
boolean isFirstLaunch = settings.getBoolean("isFirstLaunch", true);
هذا سيعود true
إذا لم يكن هناك مثل هذا الإعداد.
نصائح أخرى
يمكنك تسجيل A BroadcastReceiver للاستماع إلى intent.action_package_first_launch
http://developer.android.com/reference/android/content/intent.html#action_package_first_launch
لا تنتمي إلى StackOverflow