读书人

判断现阶段显示的是否是桌面

发布时间: 2013-07-09 09:50:48 作者: rapoo

判断当前显示的是否是桌面

boolean isHome = isHome(context, getHomes(context));


private static List<String> getHomes(Context context) {List<String> names = new ArrayList<String>();PackageManager packageManager = context.getPackageManager();// 属性Intent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_HOME);List<ResolveInfo> resolveInfo = packageManager.queryIntentActivities(intent,PackageManager.MATCH_DEFAULT_ONLY);for (ResolveInfo ri : resolveInfo) {names.add(ri.activityInfo.packageName);}return names;}private static boolean isHome(Context context,List<String> homePackageNames) {ActivityManager mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);List<RunningTaskInfo> rti = mActivityManager.getRunningTasks(1);if (rti.size() > 0) {return homePackageNames.contains(rti.get(0).topActivity.getPackageName());} else {return false;}}



需要权限。


读书人网 >移动开发

热点推荐