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

标签 java android permissions manifest

早上好

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

if(//com.package.name requests Manifest.permission.camera and that permission is granted)
{//do something}

我已经读过这个帖子 http://stackoverflow.com/questions/31535088/android-m-programmatically-revoke-permissions但它无法找到一种方法来了解某个应用程序是否真的在请求特定权限以及是否已被授予。

提前致谢

问候

最佳答案

在您的 Activity 中使用以下代码:

我创建了 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();
}

在您的 AndroidManifest.xml 文件中使用以下权限:

<uses-permission android:name="android.permission.GET_TASKS"/>

来源及更多答案 here

关于java - 如果应用程序请求权限,如何获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54956673/

相关文章:

java - 如何将 Angular 4 应用程序与 Spring Boot 堆栈集成?

java - 无法使用命名空间编码(marshal) xml 请求

java - 如何使用单个滚动条滚动两个或多个 JTable?

android - 使用 WebView 进行 OAuth2 授权

php - imagejpeg - 无法打开文件写入 : Permission denied

docker - 在构建 docker 容器时在已挂载的卷上创建文件

java - 无法使用 appium 在模拟器中启动 Android 应用程序

java - Android Null Pointer Exception 不确定如何修复

android - 获取ImageView值

.htaccess - 在 Htaccess 中只允许特定的 MAC 地址