Для программирования приложения для Android: как сделать так, чтобы оно отображало экран однократной настройки - PullRequest
0 голосов
/ 03 июля 2011

При поиске этого вопроса я видел это. Один раз экран настройки Android?

Он задает мой вопрос, но я никогда не смогу заставить его работать. Я хочу, чтобы при первом запуске приложения оно показывало экран настройки. Затем, когда я нажимаю сохранить, я хочу выйти из приложения. Когда я снова нажимаю на приложение, я хочу, чтобы оно выполняло задание, а не появлялось на экране. Так что на самом деле это 2 вопроса, как заставить его показать экран настройки один раз, а затем как заставить его выполнить действие (нажав на приложение), при этом экран вообще не появляется.

Сейчас я использую редактор SharedPreferences для ввода своих настроек.

Ответы [ 3 ]

1 голос
/ 03 июля 2011

Довольно просто, в onCreate вашей активности:

   savedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    if(savedPreferences.getBoolean(PREF_SHOW_ABOUT_ON_APP_START, true)){        
        Intent intent = new Intent(this, SetupActivity.class);
                    startActivity(intent);
                    savedPreferences.edit().putBoolean(PREF_SHOW_ABOUT_ON_APP_START, false).commit(); // YOu could do this line within the SetupActivity to ensure they have actually done what you wanted
                    finish();
    } else {
                 // Go somewere else
            }

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

0 голосов
/ 03 июля 2011

Для настройки экрана только в первый раз, вы просто должны использовать SharedPreferences. Убедитесь, что в общих настройках уже есть значение, уже запущенное. Если нет, покажите экран настройки. Если да, покажите свое приложение.

Для второй части вашего вопроса было бы очень плохой практикой иметь значок приложения, который вообще ничего не делает, когда вы нажимаете на него. Как пользователь узнает, что он работает или сделал то, что должен был сделать?

Что касается «Я хочу, чтобы задача выполнилась, но я не хочу, чтобы пользователь видел, как это происходит», я полагаю, вам следует взглянуть на службы. Когда пользователь закрывает приложение, нажимая кнопку сохранения на экране настройки, запускает службу (http://developer.android.com/reference/android/app/Service.html)

Когда пользователь снова нажимает на ваше приложение, просто покажите сообщение и заставьте приложение вызвать службу через намерение.

0 голосов
/ 03 июля 2011

Возможно, вы забыли позвонить

myEditor.commit()

после того, как вы закончили с настройкой своих предпочтений.

...