2

ユーザーがアプリケーションを閉じたときに最後のアクティビティを復元したい。しかし、私は何をすべきかわかりません。あなたの助けが必要です...誰か?

2 つのアクティビティがあり、ユーザーが 2 番目のアクティビティを表示してからアプリケーションを閉じた場合でも、アプリケーションを再度開いたときに最後のアクティビティが表示されるようにしたいと考えています。

これは私の活動です1:

public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

String lastActivity =    
PreferenceManager.getDefaultSharedPreferences(this).getString("last_activity", "");
        if (last_activity == WelcomeActivity.getSimpleName()) 
        {
            startActivityForResult(new Intent(this, WelcomeActivity.class), mDay, 
                savedInstanceState);

        } else {

            startActivityForResult(new Intent(this, MainActivity.class), mDay, 
               savedInstanceState);
        }

}

   public void onActivityResult() {
   finish();
    }

そして、これが私の活動2です:

public class WelcomeActivity extends Activity {

   @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_welcome);

 }
@Override
public void onResume() {
    Editor e = PreferenceManager.getDefaultSharedPreferences(this).edit();
    e.putString("last_activity", getClass().getSimpleName());
    e.commit();

    super.onResume();
}
}

ユーザーがアプリケーションを開いたときに最後に表示されたアクティビティで復元したいだけですが、できません。私を助けてください、私はアンドロイドが初めてです。

4

2 に答える 2

0

アクティビティの状態を True または False で共有設定に保存し、onCreate メソッドで、どのアクティビティのステータスが true であるかを確認し、そのアクティビティを開きます

1.変数を宣言する

SharedPreferences pref;
SharedPreferences.Editor editor;

2.in onCrete メソッド

pref = getSharedPreferences("testapp", MODE_PRIVATE);
editor = pref.edit();

3. ユーザーが最初のアクティビティに来たとき

editor.putInt("MyActivity",1);
editor.commit();

4.ユーザーが2番目のアクティビティに来たとき

editor.putInt("MyActivity",2);
editor.commit();

次に、次の方法で確認できるたびに:

int getStatus=pref.getInt("MyActivity",-1);

if(getStatus==1) (インテントを使用して) 1 つ目のアクティビティにリダイレクトします。そうでない場合は 2 つ目のアクティビティを表示し、現在のアクティビティを終了します

于 2013-06-26T08:19:23.620 に答える