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

WordPress 开发 WordPress 开发 主题:1098 回复:2322

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

虐人心 发布于 2017-07-08 字数 501 浏览 1032 回复 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"/>权限。但还是抛跟上面一样的异常。求解决。如果不用这种方式删除,有没有其他的好的方式删除。

发布评论

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

支持 Markdown 语法,需要帮助?

评论(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);
}
}