1

アプリケーション全体を閉じたい。バックプレスを試してみましfinishActivity()たが、うまくいきません。backプレスイベントでアプリケーションを完全に閉じたい。どうすればいいですか?

 public void onImageViewClicked(View view){
        switch(view.getId()){
            case R.id.viewStk:
intent = new Intent(MainActivity.this,ViewStkActivity.class);
                startActivityForResult(intent, 12);
                break;
            case R.id.about:
                Intent aboutIntent = new  Intent(MainActivity.this,AboutActivity.class);
                startActivity(aboutIntent);
                break;
    } 

}
4

4 に答える 4

5

私が使う:

@Override
public void onDestroy()
{
    super.onDestroy();
    // Force the process to be killed on finish(), not kept around
    System.runFinalizersOnExit(true);
    System.exit(0);
}

使用後に呼び出されますthis.finish()

(これは、アクティビティのオーバーライドされたメソッドです)

人々は不平を言い、Androidアプリのライフサイクルを壊すと言うでしょうが、開発中にアプリに「終了」ボタンがあると、生産性がすぐに向上しました。

編集

どうやら、APIの最新バージョンは、runFinalizersOnExit関数が非推奨で安全ではないと指摘しています。Gingerbread、ICS、またはJBでは問題はありませんでした。しかし、完全な開示のために、私はこれを指摘します。

于 2012-09-12T05:35:43.120 に答える
5
public void onClick(View v) {
    finish();
    android.os.Process.killProcess(android.os.Process.myPid());
}
于 2012-09-12T05:42:55.930 に答える
0

これも役立ちます

Intent i = new Intent(yourScreen.this,Home.class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        i.putExtra("EXIT", true);
        startActivity(i);

そして、HomeクラスのonCreateで、これを実行して確認します。

if (getIntent().getBooleanExtra("EXIT", false)) 
    {
        finish();
    }

これが本質的に何をするかは、あなたがどんな活動をしていても、明確なトップフラグでホーム画面を呼び出すことができます。ホーム画面では、onCreateメソッドにチェック条件があり、スタックをクリアするのに役立ちます。ここで、戻るボタンを押すと、スタックがクリアされたときにアプリを終了します。

問題が解決しない場合はお知らせください...

于 2012-09-13T11:27:49.933 に答える
-1

実装が必要なactivity.javaファイル(fx MainActivity.java)に、次を挿入します。

    public void exitProgram(View view){
    finish();
    System.exit(0);
    }

.xmlファイルの関数fxも呼び出すことを忘れないでください。

<Button
...
...
android:onClick="exitProgram"
...
/>

最後に、ボタン属性の「テキスト」属性で、フィールドの横にある小さなボタンを押して、操作するボタンのボタンを選択します。

それを行う良い方法は?いいえ、まったくありません。しかし、「パニック-let-get-outta-here」ボタンが必要な場合は、ここに移動します。

出口機能を実装する方法はたくさんあります(そのうちの1つをここに示します)。単純な「HelloWorld」プログラムを実装する方法はたくさんあるので、それぞれに価値があり、なぜあなたがあなたが持っているものを選択しました。

于 2019-09-25T18:58:36.583 に答える