0

こんにちは、ゲームにこのアクティビティ フローがあります。スタートページ>ステージ一覧(ステージ1~10)>質問。ユーザーが開始ページの開始ボタンを押すと、ステージのリストに移動します。そこから有効になるボタンはステージ 1 だけで、残りは無効モードになります。ステージ 1 には 5 つの質問があり、ユーザーがそれらに正しく回答し終えると、ユーザーはステージ 2 とステージ 1 が既にロック解除されているステージのリストに戻ります (ステージ 1 はデフォルトで有効になっています)。今私がしたいのは、ユーザーがホームボタンまたは戻るボタンを使用してアプリケーションを終了し、ユーザーがアプリケーションを再度開いたときです。スタートページからスタートボタンを押した後、ステージ2が含まれているステージのリストに移動しますまだロック解除されていないか、ユーザーが最後に終了したステージ。

4

2 に答える 2

1

私はあなたの質問を完全には理解していないので、2 つの命題があります。

  1. ステージ情報を onPause または onStop に保存してから、onCreate メソッド ( http://developer.android.com/guide/components/activities.html#Lifecycle )で取得する、または
  2. SharedPrefernecesの onStop にすべてを保存し、必要に応じて取得します。このオプションの方が良いと思います。
于 2013-01-31T15:03:22.887 に答える
0

アプリを再起動したときに最後に開いていたアクティビティに戻るには。

これを行うにはお願いします。

出典:再起動時にAndroidアプリを最後に開いたアクティビティに戻すにはどうすればよいですか?

@Override
protected void onStop() {
    super.onStop();

    SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
    Editor editor = prefs.edit();
    editor.putString("lastActivity", getClass().getName());
    editor.commit();
}


public class Dispatcher extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Class<?> activityClass;

        try {
            SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
            activityClass = Class.forName(
                prefs.getString("lastActivity", Activity1.class.getName()));
        } catch(ClassNotFoundException ex) {
            activityClass = Activity1.class;
        }

        startActivity(new Intent(this, activityClass));
    }
}
于 2013-01-31T15:13:54.697 に答える