在我的Android应用程序中,我只想在注册时显示注册页面,之后它会直接进入主要活动,如果我打开则不会再次进入注册页面。
我确实喜欢这样,但它确实有效。
如果我在注册过程之前打开我的应用并突然关闭它,则注册页面在下次没有注册的情况下也不会出现。 我怎么能避免这种情况。
如何编写条件以在注册过程后消除活动。
SharedPreferences pref = getSharedPreferences("ActivityPREF", Context.MODE_PRIVATE);
if(pref.getBoolean("activity_executed", false)){
Intent intent = new Intent(this, Track.class);
startActivity(intent);
finish();
} else {
Editor ed = pref.edit();
ed.putBoolean("activity_executed", true);
ed.commit();
}
伙计们请帮帮忙!
答案 0 :(得分:0)
你是当前的方式,为此保存共享偏好。
当用户成功注册您的应用时,此时可以保存共享偏好。
在onCreate方法中,如果找不到共享偏好,则转发到注册页面。
您好,您可以使用以下代码保存共享偏好。 这是写共享首选项的标准方法。
/**
* write SharedPreferences
* @param context
* @param name, name of preferences
* @param value, value of preferences
*/
public static void writePreferences(Context context,String name,String value)
{
SharedPreferences setting= context.getSharedPreferences("Give_your_filename", Context.MODE_PRIVATE);
SharedPreferences.Editor editor=setting.edit();
editor.putString(name, value);
editor.commit();
}
保存您的偏好。
请点击此链接click here
答案 1 :(得分:0)
SharedPreferences _RegPref;
boolean _UserType = "";
你必须在setcontentview方法之前检查shref pref,如:
_RegPref = getApplicationContext().getSharedPreferences("LoginPref", 0);
_UserType = _RegPref.getString("REGISTERD", _UserType);
if (_UserType==true) {
try {
startActivity(new Intent(_ctx, YourActivity.class));
finish();
overridePendingTransition(R.anim.enter_new_screen, R.anim.exit_old_screen);
} catch (Exception e) {
e.printStackTrace();
}
}else {
set contentview("your register activity view");
}
注册成功后,将值保存在shred pref中,如:
Editor prefsEditor = _RegPref.edit();
_UserType = false;
prefsEditor.putString("REGISTERD", _UserType);
prefsEditor.commit();