2016-02-29 3 views
-2

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

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

Я сохраняю имя как общие настройки, поэтому он должен быть всегда.

, так что я пытался всегда отправлять пользователя на домашнюю страницу, но если нет намерений (то есть в первый раз), они будут доставлены на домашнюю страницу, но я не мог заставить ее работать. Вот мои усилия.

public class HomeActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_home); 


     Intent intent1 = getIntent(); 
     Bundle bundle = intent1.getExtras(); 


     if(intent1.getExtras() == null) 
      { 
       Intent intent = new Intent(HomeActivity.this,Welcome.class); 
       startActivity(intent); 
      } 


     final String name = bundle.getString("Name"); 
     final int targetTime = bundle.getInt("targetTime", 1); 

ответ

0

в onCreate из WelcomeActivity проверки, если содержимое sharedPreferance пуст или установлен в некоторое значение, если он пуст, остаться на WelcomeActivity еще startActivity(for_HomePage). И сделать WelcomeActivity ваш launcher в AndroidMenifest.xml

1

ли это в onCreate из Welcome.java

SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(this); 
String name = mPrefs.getString("Name", null); 

if (name != null) { 
    Intent intent = new Intent(Welcome.this,HomeActivity.class); 
    startActivity(intent); 
} 

При переходе к HomeActivity сохранить имя в привилегированной акции, как этого

SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(this); 
SharedPreferences.Editor editor = mPrefs.edit(); 
editor.putString("name", name); 
editor.commit(); 
1

Внутри onCreate() приветственной деятельности, проверьте, присутствует ли имя в общих настройках. Если не продолжить работу. Если имя присутствует, вы можете запустить домашнюю страницу и finish() приветствие.

Обязательно позвоните по номеру finish() после того, как вы начали работу дома, иначе, когда вы нажмете кнопку «Назад» на главной странице, вы будете перенаправлены на страницу приветствия.

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