在我的应用程序中添加了SharedPreferences功能,以便在应用程序退出后启动特定活动。
我使用以下代码保存字符串:
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);
}
}
如果用户刚退出App,然后重新启动它(仅在目前为止在模拟器中测试过),代码就可以工作,但每当我使用任务管理器强制退出应用程序时,如下所示:
该应用程序仅在不使用SharedPreferences
的情况下重新启动。
应用程序未加载SharedPreferences
的原因是什么,或者这仅仅是模拟器错误?
答案 0 :(得分:0)
你可以写
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);
}
试试这个,对你有帮助......