2014-09-08 3 views
0

Я разрабатываю приложение для Android, и я хочу «отключить» или «скрыть» некоторые действия после моего запуска.Как отключить действия после первого запуска

я попробовал его с общими предпочтениями ... но это как-то не работал ...

// First Start 
    SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(this); 
    if(mPrefs.getBoolean("firstLaunch", true)) { 

     mPrefs.edit().putBoolean("firstLaunch", false); 


    } 

в моей голове моя идея будет выглядеть так:

при первом запуске:

  • введите имя (активность 1)
  • ввести двух друзей (деятельность 2)
  • меню (деятельность 3)

, когда его не первый старт должен начинаться как в этом меню

я надеюсь, что вы можете помочь мне

+2

фиксации() должна вызываться после метод putBoolean() ... –

+0

где is ** commit(); **? – Gattsu

+0

проверьте здесь http://stackoverflow.com/questions/6792736/shared-preferences-key-first-run-is-not-working-in-android-1-6 –

ответ

0

Он работает с SharedPreferences ! Но добавление записи происходит только наполовину. Вам также нужно будет проверить эту запись в начале приложения. Тогда это сработает.

И вы должны вызвать mPrefs.commit() после добавления записи ...

+0

, поэтому я должен добавить, что в верхней части onCreate methode, и тогда это сработает? (я знаю, что мне еще нужно называть намерение 3-го занятия) –

+0

правильно. просто проверьте, истинна ли запись, и затем продолжайте. – PKlumpp

+0

nice thx man :) –

0

Вы пропускаете совершить() вызова в редакторе настроек.

Это:

mPrefs.edit().putBoolean("firstLaunch", false); 

должен выглядеть следующим образом:

mPrefs.edit().putBoolean("firstLaunch", false); 
mPrefs.commit(); 
0

попробовать это, чтобы загрузить функцию или активность только один раз

public void onResume() 
{ 
SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(this); 
    if(mPrefs.getBoolean("firstLaunch", true)) 
//here you add whatever you want to do one time 

mPrefs.edit().putBoolean("firstrunas12", false).commit(); 
} 
+0

y вы делаете это в onResume, а не onCreate? –

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