我设计了一个应用程序,它有许多活动,一个活动从广播接收器和运行中调用,如何关闭与应用程序相关的活动或如何使用应用程序的新活动关闭其他活动
答案 0 :(得分: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);
答案 1 :(得分: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);
}
}