多くのアクティビティを持つAndroidアプリケーションを開発しています。ログアウトを確認するためのログアウトアクティビティがあります。ユーザーはログアウトするためにユーザー名とパスワードを入力する必要があります。それが正しければ、アプリケーションが閉じてAndroidHomeboardに戻ります。
しかし、ログアウトアクティビティでは、アプリケーションを閉じることができません。を使用Finish()
しましたが、そのアクティビティを閉じるだけです。これを解決するにはどうすればよいですか?
多くのアクティビティを持つAndroidアプリケーションを開発しています。ログアウトを確認するためのログアウトアクティビティがあります。ユーザーはログアウトするためにユーザー名とパスワードを入力する必要があります。それが正しければ、アプリケーションが閉じてAndroidHomeboardに戻ります。
しかし、ログアウトアクティビティでは、アプリケーションを閉じることができません。を使用Finish()
しましたが、そのアクティビティを閉じるだけです。これを解決するにはどうすればよいですか?
制限はありますが、アクティビティを開始すると、startActivityForResult()という興味深いオプションがあります。これにより、リクエストコードを渡し、そのアクティビティがいつ終了し、結果が何であったかを知ることができます。問題が解決しました!
コードを追加すると、ホーム画面に戻ることができます
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
それを Android マニフェスト ファイルのフラグ android:clearTaskOnLaunch="true" と組み合わせます (「メイン」アクティビティを宣言するときは、私が思うトリックを行う必要があります。これに関する詳細なドキュメントは、http: //developer.android. com/guide/topics/manifest/activity-element.html
基本的に、ホーム画面からアクセスできるアクティビティでこのフラグを「true」に設定すると、ユーザーがアプリを起動するたびにそのアクティビティを開く必要があるという効果があります(ユーザーが去ったときのアプリケーションの状態に関係なく)それ)。
もっと役立つことがあれば教えてください。
「アプリケーションを終了」メソッドがないため、現在のアプリケーションを「隠す」 moveTaskToBack(true) を呼び出す別の方法があります。