Android-Android 怎么删除最近使用过的程序?

Android-Android 怎么删除最近使用过的程序?

虐人心 发布于 2017-07-08 字数 501 浏览 1117 回复 2

我通过ActivityManager.getRecentTasks得到了最近使用的程序,但我现在想删除其中的一个,像android4.0自带的那样,左滑一下就删了。我用的这个ActivityManagerNative.getDefault().removeTask方法,但系统抛的异常是Permission Denial: removeTask() from pid=3473, uid=10043 requires android.permission.REMOVE_TASKS,我又在AndroidMainfest.xml中加了这个<uses-permission android:name="android.permission.REMOVE_TASKS"/>权限。但还是抛跟上面一样的异常。求解决。如果不用这种方式删除,有没有其他的好的方式删除。

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瑾兮 2017-09-22 2 楼

用这个方法:

public static void kill(String pkg, Context ctx) {
final int apiLevel = Build.VERSION.SDK_INT;
ActivityManager activityManager = (ActivityManager) ctx.getSystemService("activity");
if (apiLevel >= 8) {
activityManager.killBackgroundProcesses(pkg);
}
}

浮生未歇 2017-08-07 1 楼

SDK7是一个分水岭,一般分两种情况做的:

ActivityManager am = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
private void killApplication(String pkg) {
if (sdk > 7) {
am.killBackgroundProcesses(pkg);
} else {
am.restartPackage(pkg);
}
}