android 5.0以上,通过包名判断该应用是否在运行,不需要用户手动授权
5.0以下,直接使用如下代码:
ActivityManager activityManager = (ActivityManager) context
.getSystemService(context.ACTIVITY_SERVICE);
ComponentName runningActivity=activityManager.getRunningTasks(1).get(0).topActivity;
packName=runningActivity.getPackageName();
简单轻松加愉快。
5.0以上复杂了点,使用UsageStatsManager类可以实现,但是需要用户手动授权,应用要求静默获取,所以pass掉。
经过各种度娘,与楼主自己的整理,已经变的十分简单,使用过程如下。
5.0以上:
将图片中的类全部导入项目中,无需其他配置,只需单纯的导入类即可。(这些类以上传到资源中,网址:
http://download.csdn.net/detail/qq_24800377/9749114
)
导入之后,将如下方法,放在自己的工具类中,直接调用工具类就可使用!
public static boolean getLinuxCoreInfo(Context context, String packageName) {
List processes = ProcessManager.getRunningForegroundApps(context);
for (AndroidAppProcess appProcess : processes) {
if (appProcess.getPackageName().equals(packageName) && appProcess.foreground) {
return true;
}
}
return false;
}
参数:上下文、应用报名。
返回true就是该包名代表应用正在运行。
更多相关文章
- 箭头函数的基础使用
- NPM 和webpack 的基础使用
- Python list sort方法的具体使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- android EditText设置不可写
- android 使用html5作布局文件: webview跟javascript交互
- Android(安卓)Resource介绍和使用
- "Failed to fetch URL https://dl-ssl.google.com/android/repos
- 使用NetBeans搭建Android开发环境