当前位置: 首页 > 知识库问答 >
问题:

Uri权限未授予提供者的路径

罗法
2023-03-14

我的应用程序中有一个提供商

<provider android:authorities="com.myapp.android.provider" android:exported="false" android:name="com.myapp.android.provider.FileSystemProvider">
    <grant-uri-permission android:pathPrefix="/"/>
</provider>

当我称之为以下意图时:

Intent intent = new Intent();
intent.setClassName(getPackageName(), "com.myapp.android.CameraActivity");
intent.setData(Uri.parse("content://com.myapp.android.provider/"));
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION
        | Intent.FLAG_GRANT_WRITE_URI_PERMISSION
        | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION
        | Intent.FLAG_GRANT_PREFIX_URI_PERMISSION);

我有例外

原因:java。lang.SecurityException:权限拒绝:启动意图{dat=content://com.myapp.android.provider/flg=0xc3 cmp=com/通用域名格式。。。。。。。。。(有附加项)}来自ProcessRecord{44955bc0 9477:com../u0a260}(pid=9477,uid=10260),而不是从uid 10261导出

我做错了什么?我试图指定一个文件或其他目录的完整路径,但从未奏效。

共有2个答案

韩鸿
2023-03-14
   <provider android:authorities="com.myapp.android.provider" 
android:exported="true"<----- change android:name="com.myapp.android.provider.FileSystemProvider">
        <grant-uri-permission android:pathPrefix="/"/>
    </provider>
夏侯渊
2023-03-14
intent.setClassName(getPackageName(), "com.myapp.android.CameraActivity");

最有可能的是,这不是应用程序中的实际代码行;你真正的代码是指定其他应用程序。无论如何,此组件不会导出,因此您无法从应用程序访问它。

 类似资料:
  • 我已经创建了自己的android。这样我就可以使用隐藏的API调用“DisplayManager.connectWifiDisplay()”。 当我运行应用程序并调用该方法时,在通过Wifi Direct连接到显示器后, 我得到以下例外: java.lang.SecurityException:连接到wifi显示器所需的权限:用户10105和当前进程都没有android.Permission.CO

  • 本文向大家介绍oauth 授权码授予,包括了oauth 授权码授予的使用技巧和注意事项,需要的朋友参考一下 示例 第1步 第2步 资源

  • 问题内容: 我在注册后使用以下方法进行程序化登录 用户已通过身份验证,但始终具有ROLE_ANONYMOUS我不知道为什么?有任何想法吗 ? 问题答案: 这种现象看起来很奇怪。Javi建议手动将安全性上下文持久化到会话中,但是应该由Spring Security的自动完成。 一个可能的原因,我可以想像是在你的登记处理的页面。 禁用指定URL的所有安全过滤器。如你所见,它可能会干扰Spring Se

  • 如果我把我的Applescript给另一个人,他们将不得不手动允许Applescript控制他们的计算机进入系统首选项,点击安全 如果没有添加applescript以便它可以控制,我会得到错误,“脚本编辑器不允许辅助访问。”

  • 我正在尝试制作一个使用数据库的java应用程序。我已经下载了db2并创建了一个用户'student'。我的程序中有以下几行: 显然,我几乎不知道我在做什么,我不知道如何给予“学生”必要的特权。也就是说,我不知道什么用户可以给他特权,因为我从来没有创建过另一个用户。我看到有人提到过'db2admin'(我使用的是windows),但我不知道该如何处理这段信息。我不知道如何检查现有用户,也不知道对db

  • 大家好,我想给文件以读模式或写模式打开的权限。ext包含文件扩展名,file_name包含文件名。f_p是一个可验证的输入,其中I是作为“r”或“w”模式的输入。这里我在不同的位置使用相同的文件 但是在这段代码中,我得到了错误,因为找不到符号:方法setReadable(布尔)location:fos2是FileOutputStream类型 <% %>https://jsfiddle.net/wc