1

アプリケーションは Android 2.3.5 では問題なく動作しますが、Nexus 4 (Android 4.2.2) では期待どおりに動作しません。

アプリケーションは次のとおりです。メイン アクティビティの onCreate で、インテントを通じて別のアクティビティを呼び出します。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Intent launchIntent = new Intent(MainActivity.this, AndroidVideoCapture.class);
    launchIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
    startActivity(launchIntent);

    // I add a button dynamically here
}

Nexus 4 では、AndroidVideoCapture のインテントを終了した後、onCreate の先頭である「setContentView(R.layout.activity_main);」に戻ります。したがって、意図は何度も再起動します。

なんで?

4

2 に答える 2

2

追加してみる

if (savedInstanceState == null) {
    final Intent launchIntent = new Intent(MainActivity.this, AndroidVideoCapture.class);
    launchIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
    startActivity(launchIntent);
}

savedInstanceStatenull でないことは、アクティビティが再作成されていることを意味します。

于 2013-05-07T16:49:36.660 に答える