2017-08-15 30 views
1

私は1時間と1時間ウェブをさまよっていましたが、私のアプリケーションを完全に閉じたコードを見つけられず、すべてのアクティビティを閉じてからホームスクリーンに戻りました。 "EXIT"ボタンはアンドロイドアプリにとって不可欠ですwork.Soことを示唆しないでくださいしていないコードを与え、私のjob.I のための完全なコードを見つけることができませんでした。アプリケーションを終了し、すべてのアクティビティを終了してホーム画面を表示するにはどうすればよいですか?

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_HOME); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

このコードは、「アプリを閉じて、それがdidnのhomescreen.But示しアプリを終了するだけです。アプリを最小限に抑えるだけです。

Activity.finish(); 
System.exit(0);  

    protected void quit(){ 
    Process.killProcess(Process.myPid()); 
} 

このコードは、単に現在の活動を再開し

+0

リンクされた「重複した」質問の他の回答を見てください。あなたが望むことをやり遂げる方法はたくさんありますが、それは通常Androidでは行われません。最も簡単な方法は、 'Intent.FLAG_ACTIVITY_CLEAR_TOP'を使用して「ルートアクティビティ」を起動し、終了するルート'アクティビティ 'を示す「余分な」パスを渡すことです。これにより、アクティビティスタックからのすべてのアクティビティがクリアされ、ルートアクティビティは終了するために 'finish()'を呼び出すだけです。 –

答えて

0

これはうまくいくかもしれない:

android.os.Process.killProcess(android.os.Process.myPid()); 
System.exit(0); 

またはあなたの活動の代わりに、System.exit()moveTaskToBack(true)を呼び出します。これにより、ユーザーはアプリケーションを再び使用するまでアプリケーションを隠すことになります。

ライフサイクルイベントに適切に応答している限り、アプリケーションがまだ実行中であるかどうか、あなたもユーザーも注意する必要はありません。

アプリケーションコールmoveTaskToBack()を非表示にして、Androidがいつ終了するかを決定させる場合は、

+0

私にお試しください。あなたの応答をありがとう –

+0

それは単に現在の活動を再開する –

+0

私はボタンをクリックして私のアプリを殺すしたい –

0

PersonNaly、私は最近のアプリからアプリを削除して完全に閉じるMainActivityにfinishAndRemoveTask();を使用します。また、アプリを最近のアプリ画面に表示する場合は、単にfinishTask();を使用することもできます。

+0

finishAndRemoveTask()を使用する方法を説明してください。およびfinishTask(); –

+0

この "finishAndRemoveTask();"アクティビティを再開する –

関連する問題