如何检查已发送意图的URI的权限?

时间:2011-06-10 14:30:37

标签: android permissions

我已经尝试了以下但是这总是返回PackageManager.PERMISSION_DENIED,尽管我 知道我有权阅读该文件。有什么想法吗?

Uri uri = (Uri) intent.getExtras().get(Intent.EXTRA_STREAM);

// check uri permissions but does not work
int perm = checkUriPermission(uri , "r", null,
        Binder.getCallingPid(), Binder.getCallingUid(),
        Intent.FLAG_GRANT_READ_URI_PERMISSION);
if (perm == PackageManager.PERMISSION_DENIED) {
    Toast.makeText(getApplicationContext(),
    "No permissions to read the file", Toast.LENGTH_LONG).show();
    finish();
}

1 个答案:

答案 0 :(得分:4)

r不是权限。尝试传递null作为第二个参数,或者使用跳过你在第二和第三个位置的两个String参数的checkUriPermission()版本。