在我的应用中,我有3项活动:
1项活动: 它正在开始活动
在清单中:
<activity android:name=".First">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
2活动: 这是登录屏幕活动。
3活动: 正确登录后显示活动。
在清单中:
<activity android:name=".Third">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
在3.活动中我有按钮注销。当我点击退出按钮。应用程序将进入活动2.并在重新启动后(杀死应用程序并重新启动)。应用程序从1.活动开始。这是正确的。
但是当我没有点击退出按钮并重新启动(杀死应用程序并再次启动)时。应用必须从3活动开始(用户必须仍然登录)。
可能我应该操纵意图标志。
答案 0 :(得分:0)
您可以使用活动2成功登录SharedPreferences AFTER 中的键值对。
然后在您的活动1中检查键值对是否存在,如果存在,则转到活动3,如果不存在,则转到活动2。
示例:
Activity2.java (成功登录后)
SharedPreferences sharedpreferences = getSharedPreferences("MyPREFERENCES", Context.MODE_PRIVATE);
Editor editor = sharedpreferences.edit();
editor.putString("user_logged_in", "true");
editor.apply();
Activity1.java (启动时)
SharedPreferences sharedpreferences = getSharedPreferences("MyPREFERENCES", Context.MODE_PRIVATE);
String isLogged = sharedpreferences.getString("user_logged_in", "not_logged"
if (isLogged.equals("true"))){
//User logged in. Go to Activity 3
}else{
//User NOT logged in. Go to Activity 2
}
此外,请确保在注销时清除SharedPreferences中的密钥。
这是一个教程,它可能会有所帮助:
http://www.tutorialspoint.com/android/android_session_management.htm