2016-07-22 8 views
0

アンドロイドアプリに「タスクマネージャからアンドロイドアプリを殺す方法は?」という質問があります。私はSystem.exit(0)android.os.Process.killProcess(android.os.Process.myPid());finish()を試してみましたが、アプリケーションを停止するだけで、タスクマネージャからアプリを強制終了しません。それをどうやるか教えてください。タスクマネージャからアンドロイドアプリを殺すには?

更新日: を私はそれは私の問題のために罰金のように見える、活動を停止し、タスクマネージャやSystem.exit(0)からアプリをクリアするためにfinishAffinity()を使用。

+0

アクティビティライフサイクルでこれらのコードを使用した場所はどこですか? – sasikumar

答えて

-1

私はゲストの上記の私の解決策だけでなく、(AndroidのLとの互換性のために)、以下のgilsaints88のコメントをもと:

あなたのAndroidManifest.xmlファイルにこの活動を追加します。

<activity 
android:name="com.example.ExitActivity" 
android:theme="@android:style/Theme.NoDisplay" 
android:autoRemoveFromRecents="true"/> 

を次にクラスを作成しますExitActivity.java:

public class ExitActivity extends Activity{ 
@Override protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 

    if(android.os.Build.VERSION.SDK_INT >= 21){ 
     finishAndRemoveTask(); 
    } 
    else{ 
     finish(); 
    } 
} 

public static void exitApplication(Context context) 
{ 
    Intent intent = new Intent(context, ExitActivity.class); 

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 

    context.startActivity(intent); 
} 

}次に

ExitActivity.exitApplication(context); 

をこのソリューションではなく、アンドロイド宣言する私の作品:excludeFromRecents =「true」を、私は、ユーザーが見ることができるようにしたいので、あなたは、あなたのアプリケーションを閉じての最近のリストから削除し、呼び出しを強制したいときrecentsリストのアプリは、私のアプリがプログラムでプログラムを閉じるトリガーポイントです。

+0

お返事ありがとうございます。 VERSION> 21でも私のバージョン> = 15でもうまく動作しているようです。 –

+0

はいAPIレベル21後に利用可能 –

+0

このgithubのリンクを試すと便利になる https://gist.github.com/anonymous/9884978 –

関連する問題