4

ここのコードをアプリで使用しました。「キャンセル」オプションをクリックすると、ホームボタンを長押ししてアプリを選択すると、アプリが最小化されます。スプラッシュスクリーンや通常の方法ではなく、同じ画面が表示されます。アプリが起動するので、ホーム画面に移動するだけだと思います。メインアクティビティを完全に閉じる方法を探しています。

次の方法を試しましたが、毎回クラッシュしました。

  1. finish();
  2. mainactivity.class.finish();
  3. 持つインテントを開くsystemexit()
  4. setresult()別のアクティビティで。
4

2 に答える 2

10

推奨されませんが、それでも使用できます。アプリを終了する必要がある場合に備えて、このソリューションを使用することをお勧めします.

私によると、最善の解決策は、以下のようにアプリ内のすべてのアクティビティを終了することです。

step1) メインアクティビティで静的変数を維持します。

  public static boolean isQuit = false;

step2) ボタンのクリック イベントで、この変数を true にします。

   mainactivity.isQuit = true;
   finish();

step3) そして、あなたのアプリケーションのすべてのアクティビティには、以下のような onrestart メソッドがあります..

  @Override
      protected void onRestart() {
         // TODO Auto-generated method stub
         super.onRestart();
        if(mainactivity.isQuit)
            finish();
    }
于 2012-04-12T11:34:47.637 に答える
-3

次のコマンドを使用して、実行中のアクティビティごとにすべてのスレッド asynctask を強制終了できます。

System.exit(0);
于 2012-04-12T11:32:12.367 に答える