アプリが再開するたびに特定のアクティビティを表示したいと思います。このアクティビティには、ユーザーを認証するためのログイン フォームが含まれています。たとえば、ユーザーがホーム ボタンを押してからアプリのアイコンを押すと、誰がアプリを使用しているかを確認するために、このアクティビティが表示されます。
どうすればいいですか?
アプリが再開するたびに特定のアクティビティを表示したいと思います。このアクティビティには、ユーザーを認証するためのログイン フォームが含まれています。たとえば、ユーザーがホーム ボタンを押してからアプリのアイコンを押すと、誰がアプリを使用しているかを確認するために、このアクティビティが表示されます。
どうすればいいですか?
ログイン アクティビティをランチャー アクティビティにし、マニフェストに android:clearTaskOnLaunch を追加します。
<activity
android:name=".LoginActivity"
android:label="@string/app_name"
android:clearTaskOnLaunch="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
別の解決策を見つけました。
アクティビティが一時停止すると、タイムスタンプを取得します。再びアクティブになったら、別のタイムスタンプを取得します。タイムスタンプの差がかなり長い場合は、ログイン アクティビティを開始します。それ以外の場合は、現在のアクティビティの再開を続行します。