アクティビティをスタックに残さなくする
例えばタイマーアプリを作っていて、
タイマー終了時に透明なアクティビティを開始して、
アラートダイアログを表示し、
OKが押されたり、dismissされたりしたときに
そのアクティビティをフィニッシュするとします。
この透明アクティビティがスタックに残っていると、
端末の”□”をタップしたときに表示され、ユーザーがそれをタップすると
またアラートダイアログが表示されるので、タイマーの挙動としては不自然です。
透明アクティビティがスタックに残らないようにするには、マニフェストに以下のように記述します。
<activity android:name=".MyActivity" android:excludeFromRecents="true" android:theme="@android:style/Theme.Translucent.NoTitleBar" >
android:excludeFromRecentsをtrueにするだけです。
また、テーマを@android:style/Theme.Translucent.NoTitleBarにした場合、
アラートダイアログのUIデザインが昔っぽいものになってしまうので、
これを避けるには、独自にスタイルを定義する必要があります。