获取应用包名、获取应用名称、获取MetaData值、获取应用所有Permission、获取permission对应描述信息


// 获取acitivty所在的应用名称
public static String getAppName(Activity activity)
{
	PackageManager pm = activity.getPackageManager();
	ApplicationInfo appInfo = activity.getApplicationInfo();
	String appName = pm.getApplicationLabel(appInfo).toString();  // 获取当前游戏名称
	
	return appName;
}

// 获取acitivty所在的应用包名
public static String getPackageName(Activity activity)
{
	ApplicationInfo appInfo = activity.getApplicationInfo();
	String packageName = appInfo.packageName;		// 获取当前游戏安装包名
	
	return packageName;
}

/** 获取MainFest中MetaData对应的key节点数据 */
public static String getMetaData(Activity activity1, String key)
{
	ApplicationInfo appInfo;
	try
	{
		appInfo = activity1.getPackageManager().getApplicationInfo(activity1.getPackageName(), PackageManager.GET_META_DATA);
		
		String value = appInfo.metaData.get(key).toString();
		Log.d(TAG, key + " == " + value);
		return value;
	}
	catch (NameNotFoundException e)
	{
		e.printStackTrace();
		return null;
	}
}

/** 获取permission="android.permission.INTERNET"的对应分组、名称、描述信息 */
public static void getPermissionInfo(Activity activity, String permission)
{
	try
	{
		PackageManager packageManager = activity.getPackageManager();
		
		Tools.showText("permission -> " + permission);
		
		PermissionInfo permissionInfo = packageManager.getPermissionInfo(permission, 0);
		
		PermissionGroupInfo permissionGroupInfo = packageManager.getPermissionGroupInfo(permissionInfo.group, 0);
		Tools.showText("permission组 -> " + permissionGroupInfo.loadLabel(packageManager).toString());
		
		String permissionLabel = permissionInfo.loadLabel(packageManager).toString();
		Tools.showText("permission名称 -> " + permissionLabel);
		
		String permissionDescription = permissionInfo.loadDescription(packageManager).toString();
		Tools.showText("permission描述 -> " + permissionDescription);
		
	}
	catch (Exception ex)
	{	
		
	}
}

/** 获取AndroidManifest.xml中所有permission信息,
 * 返回信息如{"android.permission.INTERNET", "android.permission.READ_PHONE_STATE"} */
public static String[] getPermissions(Activity activity)
{
	String[] permissions = new String[] {};
	try
	{
		PackageManager packageManager = activity.getPackageManager();
		String packageName = activity.getPackageName();
		
		PackageInfo packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_PERMISSIONS);
		permissions = packageInfo.requestedPermissions;
	}
	catch (Exception e)
	{
		
	}
	return permissions;
}

猜你喜欢

转载自blog.csdn.net/scimence/article/details/85290587