我搜索并阅读了android开发者文件,但是我没有找到任何令人满意的内容提供者授予uri权限的答案。任何人都可以解释得更详细,更简单。我的问题是: uri使用什么授权? 授权uri权限真假之间的区别是什么 什么时候应该使用true?当错误? 和任何更多的细节表示赞赏。内容提供者授予uri权限
5
A
回答
5
uri使用的是什么?
“授予Uri
权限”功能,可以让你有一个ContentProvider
即通常由第三方无法访问,但选择性地允许访问单个Uri
值个别第三方应用程序的时间很短的时间(例如,足够长的时间查看供应商提供的PDF)。
什么是授予URI许可之间的区别真假
android:grantUriPermissions="true"
表明您的Java代码可以使用FLAG_GRANT_READ_URI_PERMISSION
和FLAG_GRANT_WRITE_URI_PERMISSION
由该ContentProvider
担任任何Uri
。
android:grantUriPermissions="false"
表示仅由子指定的Uri
值<grant-uri-permission>
元素可以与FLAG_GRANT_READ_URI_PERMISSION
和FLAG_GRANT_WRITE_URI_PERMISSION
使用。
1
假设您需要邮寄应用程序缓存目录中的某个文件。
除非您指定其他应用程序可以访问您的应用程序的内容,否则其他应用程序无法访问该文件。为此,您创建内容提供者,并说,所有的URI都以表单内容://com.your.app/file将您重定向到您的应用程序缓存目录。
某些代码:
File f = ...; // Some local file.
Uri uri = Uri.parse("content://com.your.app/" + f.getName());
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "Body");
intent.putExtra(Intent.EXTRA_STREAM, uri);
// You only can add flag FLAG_GRANT_READ_URI_PERMISSION if your app has
// android:grantUriPermissions="true" in manifest or see quote below.
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(intent, "Send Email"));
正如CommonsWare说:
机器人:grantUriPermissions = “假” 表示只由子<许可-URI的许可>元素可以指定 的URI值与 FLAG_GRANT_READ_URI_PERMISSION和FLAG_GRANT_WRITE_URI_PERMISSION一起使用。
相关问题
- 1. Android - 未授予URI权限
- 2. android内容提供者权限
- 3. 授予Oracle授予权限
- 4. 授予稍后激活内容作者角色的权限
- 5. 内容提供商,授权和URI匹配
- 6. 内容提供者未知uri
- 7. AWS S3权限谁是AWS授予者?
- 8. 授予者没有GRANT权限
- 9. MySQL - 授予权限
- 10. mysql授予权限
- 11. 授予LIST权限
- 12. 授予dbms_crypto权限
- 13. 如何授予在Oracle中授予权限的权限
- 14. 内容提供者
- 15. Android的内容提供商权限
- 16. 授予权限,如Linux
- 17. 如何授予discoverUserInfoWithUserRecordID权限?
- 18. perl DBI授予权限
- 19. 授予权限的路径
- 20. 授予MSI安装权限
- 21. ANDROID未授予权限
- 22. 授予权限时出错
- 23. Oracle - 授予用户权限
- 24. PackageManager:未授予权限
- 25. 甲骨文授予权限
- 26. Oracle自动授予权限
- 27. Oracle权限授予SQl Plus
- 28. 默认授予权限
- 29. 无法授予FINE_LOCATION权限
- 30. MySql授予用户权限
我仍然在同一点,不明白为什么授权uri使用,当我们应该使用。你能否更详细地解释一下,并像初级开发者那样告诉我。 – Android