2012-12-20 165 views
1

我設計了一個應用程序,它有很多活動,一個活動從廣播接收器中調用並運行,如何關閉正在運行的與應用程序相關的活動或如何關閉其他活動應用關閉在後臺運行的活動

回答

1

我終於找到解決它很簡單設置標誌

Intent i1 = new Intent(context, Your class name); 
i1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
i1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // <= USE THIS 
startActivity(i1); 
0

權限的新活動:

<uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="16" /> 
    <uses-permission android:name="android.permission.GET_TASKS" /> 
    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> 

代碼

ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(100); 
for (ActivityManager.RunningTaskInfo taskInformation : taskInfo) { 
    if (yourApplicationPackageName.equalsIgnoreCase(taskInformation.baseActivity.getClassName())) { 
     String pack = taskInformation.baseActivity.getClassName().substring(0, taskInformation.baseActivity.getClassName().lastIndexOf(".")); 
     am.killBackgroundProcesses(pack); 
    } 
}