一键杀死最近打开APP
1.AndroidManifest.xml添加:
android:sharedUserId="android.uid.system"2.Android.mk添加:
LOCAL_CERTIFICATE := platform3.MainActivity.javapublic void kill_recent_app(){pm = getPackageManager();am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);recentTasks = am.getRecentTasks(20, ActivityManager.RECENT_IGNORE_UNAVAILABLE);numTasks = recentTasks.size();first = 0;homeInfo = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME).resolveActivityInfo(pm, 0);for (int i = first, index = 0; i < numTasks && (index < 20); ++i) {recentInfo = recentTasks.get(i); m_intent = new Intent(recentInfo.baseIntent);if (recentInfo.origActivity != null) {
m_intent.setComponent(recentInfo.origActivity);}Log.e(TAG, "PackageName = " + m_intent.getComponent().getPackageName());// Don't load the current home activity.Log.e(TAG, "Our homeInfo = " + homeInfo);if (isCurrentHomeActivity(m_intent.getComponent(), homeInfo)) {continue;}// Don't load ourselvesLog.e(TAG, "Our PackageName = " + getPackageName());if (m_intent.getComponent().getPackageName().equals(getPackageName())) {continue;}stopProcess(m_intent.getComponent().getPackageName());}}public void stopProcess(String packageName){try {Log.e("recentpanview", "--------------stopProcess()-------------");ActivityManager mActivityMgr = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);//第一种:采用反射Method forceStopPackage = mActivityMgr.getClass().getDeclaredMethod("forceStopPackage", String.class);forceStopPackage.setAccessible(true);forceStopPackage.invoke(mActivityMgr, packageName);//第二种:直接调用//mActivityMgr.forceStopPackage(packageName);} catch (Exception e) {e.printStackTrace();}}4.指定kill掉天天动听、喜马拉雅等app
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import java.lang.Exception;
import android.app.ActivityManager;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ActivityInfo;
import android.content.pm.ResolveInfo;
import android.os.PowerManager;
import java.util.ArrayList;
import java.util.List;public void kill_recent_app(){ActivityManager.RecentTaskInfo recentInfo;Intent m_intent;PackageManager pm = getApplicationContext().getPackageManager();ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);List<ActivityManager.RecentTaskInfo> recentTasks = am.getRecentTasks(20, ActivityManager.RECENT_IGNORE_UNAVAILABLE);recentTasks = am.getRecentTasks(20, ActivityManager.RECENT_IGNORE_UNAVAILABLE);int numTasks = recentTasks.size();for(int i = 0; i < numTasks; i++){recentInfo = recentTasks.get(i);m_intent = new Intent(recentInfo.baseIntent);if (recentInfo.origActivity != null) {m_intent.setComponent(recentInfo.origActivity);}Log.e(TAG, " packageName = " + m_intent.getComponent().getPackageName() + " i = " + i + " numTasks = " + numTasks);try {ActivityManager mActivityMgr = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);//依次kill掉需要kill的appif(m_intent.getComponent().getPackageName().equals("com.sds.android.ttpod") == true){mActivityMgr.forceStopPackage(m_intent.getComponent().getPackageName());}else if(m_intent.getComponent().getPackageName().equals("com.ximalaya.ting.android.car") == true){mActivityMgr.forceStopPackage(m_intent.getComponent().getPackageName());}}catch (Exception e){e.printStackTrace();}}}
一键杀死最近打开APP相关推荐
- 微信不再提供小程序打开App?借助H5为App引流的方式你必须知道!
简介: 2021年5月14日App开发者领域发布了一条重要消息:微信开放平台为了提升用户体验,将于2021年5月20日(后来延期到2021年5月27日)起不再提供"小程序打开App技术服务& ...
- 如何在微信中打开app及Schema VS Universal Link
如何在微信中打开app 方法一:微下载链接 微下载能力不仅能够帮助开发者在微信等场景进行一键下载安装,目前已支持直接拉起应用的指定内容页,帮助开发者缩短内容触达路径,提升产品活跃和用户体验 实际的情况 ...
- brew 一直等待_去广告神器,一键去除所有主流App广告,看片从此不等待
求求各位打开今日第2篇文章,忽略内容,直接拉到底部,然后退出,给花卷赏口饭吃,花卷快饿死了,求求你啦!!!! 大家好,今天小花卷为大家带来的是去广告神器,一键去除所有主流App广告,看片从此不等待 . ...
- airtest通过包名直接打开app的方法
一.前言 启动指定的app,需知道app的包名,app已经安装到手机上了,如何查看安装包的包名呢? 二.adb shell 1.查看手机上所有app的包名 adb shell pm list pack ...
- Mac中使用自动操作实现一键在终端打开(openInTerminal)
在mac Finder 中, 要实现一键在终端中打开, 可以使用第三方软件, 比如Go2Shell. 具体使用方法可自行百度下载安装, 效果图如下: 点击按钮, 可以在终端打开. 弊端: 不能使用快捷 ...
- Mac 一键关闭所有打开的程序
Mac 一键关闭所有打开的程序 一. Automator 方式 1. Automator介绍 2. Mac修改应用图标 二. ps kill pid 方式 三. others 一. Automator ...
- 安卓开发中,release安装包安装后,打开app后再按home键,再次点击程序图标app再次重新启动的解决办法
安卓开发中,release安装包安装后,打开app后再按home键,再次点击程序图标app再次重新启动的解决办法 在开发中我们一般都是直接AS上的安装(Run)按钮,直接安装到真机或模拟器上进行测试, ...
- Android通过Scheme协议打开APP界面
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/123238777 本文出自[赵彦军的博客] 文章目录 浏览器为什么能唤起App的页面 ...
- 微信浏览器内打开App Store链接
将页面的代码写为:<a href="http://mp.weixin.qq.com/mp/redirect?url=http://itunes.apple.com/cn/app/gua ...
最新文章
- MySQL数据模型图导出ddl脚本_DB2中导出数据库的所有DDL脚本.
- BZOJ 1185: [HNOI2007]最小矩形覆盖 [旋转卡壳]
- docker修改镜像的存储位置_Docker存储原理
- 设计模式------中介者模式
- mysql --skip-locking_skip-external-locking – MySQL性能参数详解
- 第十期:快来了解这五种热门的开发技能
- Android Frame动画概述及示例
- 社交媒体广告看不出来?Instagram加标签让你一目了然
- linux运行run.tar.gz,linux .run 文件的制作和安装
- 中文python笔记_Python笔记记录
- MYSQL5.6和5.7编译标准化安装与配置
- 探索储电式太阳能充电器,太阳能充电到底有没有必要有储电功能
- 中国大学MOOC伦理学题库及答案
- 深度学习与计算机视觉(12)_tensorflow实现基于深度学习的图像补全
- android 仿写开发者头条,android高仿今日头条富文本编辑(发布文章)
- Latex 引号输入
- PS2键盘扫描码:通码与断码
- WebGL Babylon GlowLayer 解决自发光材质穿透问题
- Python猴子摘香蕉问题
- 海外专利紧缺 中国IT企业国际化维艰
热门文章
- BZOJ3421 : Poi2013 Walk
- [转]关于ORA-00979 不是 GROUP BY 表达式错误的解释
- VOIP Codec 三剑客之 ISAC/ILBC -- ISAC (4) Pitch Parameters Encode 模块
- 无线接口配置 DHCP配置
- windows phone开发环境搭建
- java 构造函数的执行顺序
- 在django中实现表单
- python redis 订阅发布_【Python之旅】第七篇(三):使用Redis订阅服务
- vue项目中返回按钮案例(用vuex控制返回按钮的显示或者隐藏)
- [CTSC2018]暴力写挂