マニフェストで次のように宣言されているアクティビティがあります。
<activity
android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:noHistory="true"
android:theme="@style/Theme.Transparent" >
Theme.Transparent の場所:
<style name="Theme.Transparent" parent="android:style/Theme.NoDisplay">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
このアクティビティでは、ダイアログを表示しており、ダイアログは (AsyncTask の postExecute で) 別のアクティビティを開きます。アクティビティが開始されると、ダイアログが直接開きます。
ダイアログをロードせずに空のアクティビティが表示されることがあります(アクティビティのライフサイクルで何か間違ったことをしたと思いますか?!)マニフェストに noHistory フラグを設定したので、開始されたアクティビティで戻るボタンがクリックされた場合空のアクティビティに到達しないで、アプリを完全に終了してください...
私のアクティビティの構造は次のとおりです。
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
// setting up and showing dialog etc...
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
finish();
}
@Override
protected void onDestroy() {
super.onDestroy();
finish();
}
}
助けてくれてどうもありがとう...