Java 在最后使用的屏幕上打开应用程序
每当我单击我的应用程序图标时,它总是在登录屏幕上打开,即使我之前已经在另一个页面上打开过它,即使我只是返回到应用程序的主屏幕,单击应用程序也会返回登录页面。我想知道是否可以保证它将始终在我停止的最后一个屏幕上打开,除非我已完全退出应用程序。为此,您可以使用共享首选项。每次用户停止应用程序时,您都应该将活动的名称存储在内存中,以便下次打开应用程序时,您可以读取文件并检查以前使用过的活动。 写入文件:Java 在最后使用的屏幕上打开应用程序,java,android,android-studio,android-intent,Java,Android,Android Studio,Android Intent,每当我单击我的应用程序图标时,它总是在登录屏幕上打开,即使我之前已经在另一个页面上打开过它,即使我只是返回到应用程序的主屏幕,单击应用程序也会返回登录页面。我想知道是否可以保证它将始终在我停止的最后一个屏幕上打开,除非我已完全退出应用程序。为此,您可以使用共享首选项。每次用户停止应用程序时,您都应该将活动的名称存储在内存中,以便下次打开应用程序时,您可以读取文件并检查以前使用过的活动。 写入文件: SharedPreferences sharedpreferences = getSharedPr
SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
对于每个活动,请覆盖此方法:
@override
public void onDestroy() {
Editor editor = sharedpreferences.edit();
editor.putString("LastOpened", "activity_name");
editor.apply();
}
要在以前销毁的活动中打开应用程序,请在登录活动中写入以下内容:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String name = preferences.getString("LastOpened", "");
switch(name) {
case "LoginActivity": {
//do nothing
}
case "OtherActivity" : {
startActivity(new Intent(this, OtherActivity.class));
....
}
使用。如果您没有在清单中使用任何特殊的启动模式,这是标准的Android行为。如果您遇到此问题,您可能会看到这个讨厌的Android错误:要验证,请在手机上安装应用程序,然后强制关闭应用程序(设置->应用程序->应用程序->强制关闭),然后从主屏幕单击图标启动应用程序,转到另一个
活动
,按HOME,从主屏幕再次启动应用程序,它应该可以工作。只有在您想在几天或几周不使用后返回到停止使用的位置时,才需要使用SharedReferences
。一般来说,这不是必要或可取的行为。