提交 949227e3 编写于 作者: M Mengjie Cai 提交者: GitHub

Merge pull request #61 from onlylemi/patch-1

see 10/13 log
......@@ -428,25 +428,24 @@ public class AppUtils {
/**
* 判断App是否处于前台
* <p>需添加权限 {@code <uses-permission android:name="android.permission.GET_TASKS"/>}</p>
* <p>并且必须是系统应用该方法才有效</p>
*
* @param context 上下文
* @return {@code true}: 是<br>{@code false}: 否
*/
public static boolean isAppForeground(Context context) {
return isAppForeground(context, context.getPackageName());
return isApplicationForeground(context, context.getPackageName());
}
/**
* 判断App是否处于前台
* <p>需添加权限 {@code <uses-permission android:name="android.permission.GET_TASKS"/>}</p>
* <p>并且必须是系统应用该方法才有效</p>
* <p>该方法在 API 21 被遗弃,已经不能使用</p>
*
* @param context 上下文
* @param packageName 包名
* @return {@code true}: 是<br>{@code false}: 否
*/
@Deprecated
public static boolean isAppForeground(Context context, String packageName) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
@SuppressWarnings("deprecation")
......@@ -454,6 +453,27 @@ public class AppUtils {
return tasks != null && !tasks.isEmpty()
&& tasks.get(0).topActivity.getPackageName().equals(packageName);
}
/**
* 判断 App 是否处于前台
*
* @param context 上下文
* @param packageName 包名
* @return {@code true}: 是<br>{@code false}: 否
*/
public static boolean isApplicationForeground(final Context context, String packageName) {
final ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
final List<ActivityManager.RunningAppProcessInfo> processInfos = am.getRunningAppProcesses();
if (processInfos != null) {
for (ActivityManager.RunningAppProcessInfo processInfo : processInfos) {
if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND
&& Arrays.asList(processInfo.pkgList).contains(packageName)) {
return true;
}
}
}
return false;
}
/**
* 封装App信息的Bean类
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册