2012-12-20 114 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); 
    } 
}