我搜索並閱讀了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