转载自:
https://www.jianshu.com/p/f5fb87d99b5d
/**
* 返回当前的应用是否处于前台显示状态
* @param $packageName
* @return
*/
private boolean isTopActivity(String $packageName)
{
//_context是一个保存的上下文
ActivityManager __am = (ActivityManager) _context.getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> __list = __am.getRunningAppProcesses();
if(__list.size() == 0) return false;
for(ActivityManager.RunningAppProcessInfo __process:__list)
{
Log.d(getTAG(),Integer.toString(__process.importance));
Log.d(getTAG(),__process.processName);
if(__process.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND &&
__process.processName.equals($packageName))
{
return true;
}
}
return false;
}
本文提供了一个用于检测指定包名的应用程序是否处于系统前台的方法。通过遍历运行中的进程信息并检查其重要级别,可以判断目标应用程序是否为当前最上层活动。

被折叠的 条评论
为什么被折叠?



