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);
}
}
このコードは、ユーザーがアプリを終了してから再起動した場合に機能します (これまではシミュレーターでのみテストされていました) が、タスク マネージャーを使用してアプリを強制終了するたびに、次
のようにアプリを再起動しSharedPreferences
ます。アプリが読み込まれない理由は何ですか、SharedPreferences
それとも単なるシミュレーターのバグですか?