2016-07-22 61 views
0

我有一個Android應用程序的問題,「如何從任務管理器中殺死一個Android應用程序?」。我試過System.exit(0),android.os.Process.killProcess(android.os.Process.myPid());,finish()但它只停止應用程序,不要從任務管理器中終止應用程序。請告訴我該怎麼做。如何從任務管理器中殺死一個android應用程序?

更新: 我用finishAffinity()清除從任務管理器和應用程序System.exit(0)停止活動,它看起來像細我的問題。

+0

你在活動生命週期中使用了這些代碼嗎? – sasikumar

回答

-1

我根據我對客人的上方,以及gilsaints88的下面註釋(Android L系統的兼容性)解決方案:

這個活動添加到您的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); 

該解決方案對我的作品,而不是宣稱的android:excludeFromRecents =「真」,因爲我希望用戶能夠看到應用程序在最近列表中,直到我的應用程序觸發關閉應用程序的地步。

+0

感謝您的回覆。它似乎運行良好,VERSION> 21,但我的版本> = 15。 –

+0

是它可用後,API級別21 –

+0

嘗試此github鏈接它將幫助 https://gist.github.com/anonymous/9884978 –

相關問題