首页 > 系统 > Android > 正文

android 5.0以上,通过包名判断该应用是否在运行,不需要用户手动授权

2019-11-09 17:43:54
字体:
来源:转载
供稿:网友

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<AndroidAppPRocess> processes = ProcessManager.getRunningForegroundApps(context);        for (AndroidAppProcess appProcess : processes) {            if (appProcess.getPackageName().equals(packageName) && appProcess.foreground) {                return true;            }        }        return false;    }

参数:上下文、应用报名。

返回true就是该包名代表应用正在运行。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表