Java 如果应用程序请求权限,如何获取?

Java 如果应用程序请求权限,如何获取?,java,android,permissions,manifest,Java,Android,Permissions,Manifest,早上好 我一直在寻找一种方法,以了解给定软件包名称的应用程序是否请求特定权限,以及该权限是否已授予(通过设置)。我在找这样的东西: if(//com.package.name requests Manifest.permission.camera and that permission is granted) {//do something} 我已经读过这篇文章,但它没有找到一种方法来知道某个应用程序是否真的在请求某个特定的权限,以及它是否被授予了权限 提前谢谢 关于在活动中使用以下代码: 我

早上好

我一直在寻找一种方法,以了解给定软件包名称的应用程序是否请求特定权限,以及该权限是否已授予(通过设置)。我在找这样的东西:

if(//com.package.name requests Manifest.permission.camera and that permission is granted)
{//do something}
我已经读过这篇文章,但它没有找到一种方法来知道某个应用程序是否真的在请求某个特定的权限,以及它是否被授予了权限

提前谢谢

关于

在活动中使用以下代码: 我创建了
StringBuffer appNameAndPermissions=new StringBuffer()
附加所有应用和权限信息

很好用。我已经测试过了。如果您有任何问题,请告诉我

StringBuffer appNameAndPermissions = new StringBuffer();
PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);

for (ApplicationInfo applicationInfo : packages) {
    Log.d("test", "App: " + applicationInfo.name + " Package: " + applicationInfo.packageName);
try {
    PackageInfo packageInfo = pm.getPackageInfo(applicationInfo.packageName, PackageManager.GET_PERMISSIONS);
    appNameAndPermissions.append(packageInfo.packageName+"*******:\n");

    //Get Permissions
    String[] requestedPermissions = packageInfo.requestedPermissions;
    if(requestedPermissions != null) {
        for (int i = 0; i < requestedPermissions.length; i++) {
            Log.d("test", requestedPermissions[i]);
            appNameAndPermissions.append(requestedPermissions[i]+"\n");
        }
    appNameAndPermissions.append("\n");
} catch (NameNotFoundException e) {
    e.printStackTrace();
}
StringBuffer appNameAndPermissions=new StringBuffer();
PackageManager pm=getPackageManager();

列表

谢谢你的回答,我会尽快测试并给出反馈!