Диалог Сохранить на андроид, автозагрузка
Я пытаюсь сделать приложение для веб-просмотра, и я застрял где-то.
Когда я запускаю приложение в первый раз (для установки), оно должно задать вопрос, например:
Вы прочитали условия обслуживания? Да нет
Если я выберу "Да", приложение должно запомнить его и не спрашивать снова, запускается ли программа снова через некоторое время. Если я выберу "Нет", приложение должно завершиться, и он должен задать тот же вопрос в следующий раз, когда приложение было запущено.
Я действительно застрял, и я не мог найти учебник, как это.
2 ответа
Я бы создал загрузочное действие, которое проверило бы, просило ли его пользователь принять права (TOS), а затем переходило ли оно в основное действие, и если не показывать его, и ждать. Попробуйте это в действии по загрузке
SharedPreferences sp = getSharedPreferences("TOS", Context.MODE_PRIVATE);
boolean hasAccepted = sp.getBoolean("accepted", false);
if(hasAccepted)
{
//start next activity
}else {
///display the TOS
}
Затем создайте прослушиватель для кнопки "да / нет", которая вызывает эти методы
public void onClickYes(){
SharedPreferences sp = getSharedPreferences("TOS", Context.MODE_PRIVATE);
sp.edit().putBoolean("accepted", true).commit();
}
public void onClickNo(){
finish();
}
При загрузке приложения оно пытается получить SharedPreference. Если он не может найти его, то он использует значение по умолчанию false, следовательно (sp.getBoolean("принято", false"). Затем, если пользователь принимает tos, вы сохраняете SharedPreference" accept "как true. Так что в следующий раз приложение загружает, оно сможет найти предпочтение и вернуть true, поэтому не отображает TOS
Я хотел бы хранить свойство локально для чтения при запуске. Вот API http://developer.android.com/reference/java/util/Properties.html