2つのアクティビティがあるアプリがあります。最初のボタンには、2番目のボタンを開く単一のボタンが表示されます。
これが最初のもののマニフェスト定義です:
<activity
android:name="com.example.buttonexample.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
2番目のアクティビティ:
<activity
android:name="com.example.buttonexample.MainActivity2"
android:label="@string/title_activity_main_activity2" android:theme="@android:style/Theme.Translucent">
</activity>
2番目のアクティビティを起動する方法は次のとおりです(最初のアクティビティのボタンのOnClickListenerを介して):
public void startSecondActivityClick(View v) {
Intent startActivity2 = new Intent(this, MainActivity2.class);
startActivity(startActivity2);
}
これは問題なく機能しますが、ホームとフォアグラウンドを押してアプリをバックグラウンドにすると、アプリは正常に機能します。私は、最初の活動が継続的にそれ自体を作成/破壊していることに気づいています。onDestoryメソッドにコードを入れて静的intをインクリメントすることで、これを確認しました。
private static int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
count++;
}
protected void onDestroy() {
super.onDestroy();
Log.i("MainActivity", String.format("Destroyed, %d", count));
}
また、半透明のテーマを削除すると、これが修正されるように見えることにも気づきました。私の質問は、半透明または同様のものにする方法はありますが、再起動しない方法はありますか?また、なぜこれが起こるのか興味があります。私はこれをGalaxySIIIの4.0.1ICSでテストしています。