Android 共享引用在强制退出时丢失?
我已将SharedReferences功能添加到我的应用程序中,以便在退出应用程序后启动特定活动 我使用以下代码保存字符串:Android 共享引用在强制退出时丢失?,android,eclipse,sharedpreferences,Android,Eclipse,Sharedpreferences,我已将SharedReferences功能添加到我的应用程序中,以便在退出应用程序后启动特定活动 我使用以下代码保存字符串: final SharedPreferences pref1 = getSharedPreferences("myapp", MODE_PRIVATE); SharedPreferences.Editor editor = pref1.edit(); editor.putString("Stringval", "view1")
final SharedPreferences pref1 = getSharedPreferences("myapp", MODE_PRIVATE);
SharedPreferences.Editor editor = pref1.edit();
editor.putString("Stringval", "view1");
editor.commit();
然后,通过以下步骤加载上次使用的活动,此代码位于OnCreate
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final SharedPreferences pref1 = getSharedPreferences("myapp", MODE_PRIVATE);
String str1= pref1.getString("Stringval", null);
if(str1 == "view0")
{
setContentView(R.layout.activity_view0);
}
else if(str1 == "view1")
{
setContentView(R.layout.activity_view1);
}
else
{
setContentView(R.layout.activity_no_setup);
}
}
如果用户刚刚退出应用程序,然后重新启动它(目前为止仅在模拟器中进行了测试),那么代码可以工作,但每当我使用任务管理器强制退出应用程序时,如下所示:
应用程序只需重新启动,无需使用SharedReferences
。
应用程序不加载共享参考的原因是什么?或者这只是一个模拟器错误?您可以编写
if(str1 != null && str1.equals("view0"))
{
setContentView(R.layout.activity_view0);
}
else if(str1 != null && str1.equals("view1"))
{
setContentView(R.layout.activity_view1);
}
else
{
setContentView(R.layout.activity_no_setup);
}
试试这个,可能对你有帮助