该应用程序在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);”。
因此,意图一次又一次地重新启动。

为什么?

最佳答案

尝试添加

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);
}


savedInstanceState不为null表示正在重新创建活动。

关于android - 为什么主 Activity 在其调用 Intent 完成后(Android 4.2.2)重新启动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16424430/

10-10 20:21