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


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;
			}
		}




需要权限。


猜你喜欢

转载自bwlcool.iteye.com/blog/1895357
今日推荐