我目前正在使用Android UsageStats
在服务中的android中获取当前的前台应用程序。但是,当我从任何应用程序收到通知时,我的应用程序认为其他应用程序位于前台。 "哇,这是一个输入"
基本上,我需要一种获取当前前台应用程序的方法,不包括任何通知。
知道了吗?谢谢!
修改
如果我的当前方法无法提出请求,那么我的其他选择是什么?
答案 0 :(得分:0)
您可以在前台获取当前应用程序的包名称:
private String isAppOnForeground(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
if (appProcesses == null) {
return null;
}
for (RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
return appProcess.processName;
}
}
return null;
}