2013-08-03 3 views
0

У меня есть основное действие (условия) и регистрация, а также другие действия в приложении. После того, как пользователь будет согласован и зарегистрирован в приложении после его установки, пользователь не должен снова видеть эти две страницы. Даже если он внезапно уйдет, не нажав кнопку выхода, эти действия не должны появляться снова. Я использовал общие настройки. Он работает, но когда пользователь не нажимает на выход и не возвращается, действия снова появляются. Пожалуйста, помогите мне .. спасибо друзья ..Действия должны появляться только один раз

+0

Покажите, как вы используете общие настройки. – btse

+0

Я думаю, что вы поместили код Shared Preferences в кнопку Exit. вместо этого добавьте этот код в onPause. –

+0

, пожалуйста, добавьте код –

ответ

1

Попробуйте этот код Это заявление будет проверить, является ли запустить деятельность до или первый раз и реагировать соответственно

private boolean isFirstTime() { 
    SharedPreferences preferences = getPreferences(MODE_PRIVATE); 
    boolean ranBefore = preferences.getBoolean("RanBefore", false); 
    if (!ranBefore) { 
     // first time 
     SharedPreferences.Editor editor = preferences.edit(); 
     editor.putBoolean("RanBefore", true); 
     editor.commit(); 
    } 
    return !ranBefore; 
} 
0

Используйте один раз экрана в качестве Launch деятельности. Внутри его onResume(), проверьте значение sharedPreference.

Вызова следующей активности & закончить это, если прив значение не по умолчанию значения.

если pref по умолчанию, а затем измените его.

0

Согласно моему пониманию, вы должны иметь флаг переключателя (может быть логический флаг, который должен присутствовать в приложении) и в то время как начинается ваше приложение, сохранить чек в BaseActivity и передать в палатке на действия, основанные на ваших требованиях. например,

public class Test extends Activity { 

private static final String TAG = Test.class.getSimpleName(); 
private boolean isSkip= Boolean.FALSE; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    if (isSkip) { 
     // Take the user to second Activity   
     startActivityB(); 
    } else {    
     // Take the user to first setup Page 
     startActivityA(); 

    } 

} 

private void startActivityA() { 

    Intent startA= new Intent(this, ActivityA.class); 
    startActivity(startA); 
} 

private void startActivityB() { 

      Intent startB = new Intent(this, ActivityB.class); 
    startActivity(startB); 
} 
} 

Всякий раз, когда активность Б начинается, обновить БД для isSkip флаг.

Смежные вопросы