我想創建一個DocumentsProvider來管理指定的文件夾。我有另一個應用程序需要使用這個DocumentsProvider瀏覽/管理文件夾中的文件。如何在不使用意圖的情況下直接訪問我的應用程序中的DocumentsProvider?
我看到很多使用intent和startActivity的示例代碼,然後使用DocumentsUI來獲取URI。是否有可能通過我的應用程序直接訪問DocumentsProvider而不使用意圖?
我試着使用固定URI作爲我的DocumentsProvider,並嘗試使用DocumentsContract來訪問它,但它會遇到「SecurityException:沒有爲UID和Uri找到可持久的權限授予」。我也先使用grantUriPermission(),但它沒有幫助。
是否有任何方式使用固定(預定義)URI而不是來自返回意圖的URI來訪問DocumentsProvider?
'看到很多調用DocumentsUI'的示例代碼。不知道你的意思是什麼。你能給個例子嗎? – greenapps
'DocumentsProvider'的意義在於通過存儲訪問框架(例如'ACTION_OPEN_DOCUMENT')爲其他應用程序訪問這些文檔。如果這不是你想要的,不要實現'DocumentsProvider'。如果你想'ACTION_OPEN_DOCUMENT'支持,*也*希望直接使用'DocumentsProvider',你可以嘗試使用'DocumentsContract',但我不知道你的客戶端應用程序將如何獲得文檔的許可。 – CommonsWare
是的,我試過了,但正如你所說的那樣獲得許可問題。 –