1

メニューボタンのクリックでアプリを終了できるようにする必要があります。私のメニューは問題なく動作しますが、アプリを終了/強制終了しようとすると、現在のアクティビティが閉じられ、前のアクティビティが開かれます。

  • 戻るボタンまたは私が設計したナビゲーション ボタンを使用して、アプリ内のアクティビティ間を行き来できるようにする必要があります
  • メニューにアプリを終了するボタンを追加し、クリックイベント内にコードを入力しました

    android.os.Process.killProcess(android.os.Process.myPid())

  • しかし、何も起こりません。つまり、同じです。Finish() のように動作します。そのボタンがクリックされたら、すべてのアクティビティを終了する必要があります。

  • アプリの奥深くに入り、数分間ナビゲートした後、アプリを閉じたいときに戻るボタンが大嫌いです...ホームボタンをクリックせずに戻るのにほぼ同じ時間がかかります前に行ったすべての手順を逆に実行します... 控えめに言っても面倒です。
  • さらに、私のアプリは、ほぼすべてのアクティビティの onCreate で HTTP リクエストを作成するため、「戻る」ときにインターネット トラフィックが 2 倍になります。そして「はい」私のアプリはこれを行う必要があります。データベースをローカルにキャッシュしてここから使用することはできません。これは、アプリが複数のユーザーによって同時に使用され、アクティビティに入るたびに更新されたデータを確認する必要があるためです。
  • 将来の使用のためにアプリを開いたままにしたくない/必要としません。私のアプリはユーザー+パス認証を必要とし、ユーザーがログオフしたいときに閉じることができる安全性を提供する必要があります。例)。
  • Android がアプリを閉じないようにする理由についての講義は必要ありません... Android が私に何をしてほしいかは気にしませんやりたいこと、それが何より大事。ユーザーが自分の電話を放置した場合、誰でもアプリを起動してログインするだけで、アプリが保存している情報を確認できるので、いいえ、アプリを長引かせたくない. ユーザーが停止することを選択したときに停止したい。

では、やり方を教えてください。マニフェストに追加してみました:

<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>

すべてのアクティビティに対して、アクティビティを開始するたびにこれを追加しました。

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

何も変わっていません...終了ボタンをクリックすると、現在のアクティビティが終了し、前のアクティビティが表示されます。私はこれが嫌いです。やり方を教えてください。

他のアプリを終了できる TaskManager アプリケーションがたくさんあるので、自分のアプリを終了できる方法が必要です...

ありがとうございました

4

4 に答える 4

2

System.exitJVM を終了し、実質的に VM プロセスを強制終了します。

「想定される」アプリを終了する必要があることについてのいくつかのメモ。私見は、アプリを強制終了することを正当化せず、ユーザーにアプリの使用体験を大幅に悪化させ、他のアプリやそれを実行しているデバイス全体に影響を与えます。

アプリの奥深くに入り、数分間ナビゲートした後、アプリを閉じたいときに戻るボタンが大嫌いです...ホームボタンをクリックせずに戻るのにほぼ同じ時間がかかります前に行ったすべての手順を逆に実行します... 控えめに言っても面倒です。

そのため、「終了」ではなく「戻る」と呼ばれています。ブラウザの「戻る」ボタンについても同じことが言えます。

さらに、私のアプリは、ほぼすべてのアクティビティの onCreate で HTTP リクエストを作成するため、「戻る」ときにインターネット トラフィックが 2 倍になります。

戻るときになぜトラフィックが 2 倍になるのかわかりません。更新する必要があると言ったので、更新する場合は、HTTPクエリを再度作成する必要があります。これには何も問題はありません。

将来の使用のためにアプリを開いたままにしたくない/必要としません。私のアプリはユーザー+パス認証を必要とし、ユーザーがログオフしたいときに閉じることができるという安全性を提供する必要があります

このために終了する必要はありません。ユーザーがアプリから離れたときに、ログインしていないというフラグを立てることができます。このようにして、ユーザーが戻ってくるたびにパスを要求し、同じアクティビティを表示したままにして、このアクティビティに再度移動する必要がないようにすることができます。

Android がアプリを閉じないようにする理由についての講義は必要ありません... Android が私に何を求めているかは気にしません。

そうすると、アプリに戻るたびにアプリの起動が遅くなり、バッテリーの消費量が増えます。Android アプリの開発ガイドラインは「ただの理由」ではありません。このガイドラインに従う必要があるのには、明確な理由があります。それは、Android がそのように機能するからです。

于 2013-08-14T11:27:13.857 に答える
0

それをしないでください。OS はアプリをいつ終了する必要があるかを教えてくれます。アプリケーションを閉じることはできません。

于 2013-08-14T11:28:14.250 に答える
0

終了ボタンのクリック イベントでこれを使用するだけです。

 System.exit(0);
于 2013-08-14T11:52:11.923 に答える