Android ContentProvider再探——Document Provider

2023-03-31 13:45 更新

本節(jié)引言:

學(xué)完上一節(jié),相信你已經(jīng)知道如何去使用系統(tǒng)提供的ContentProvider或者自定義ContentProvider了, 已經(jīng)基本滿足日常開發(fā)的需求了,有趣的是,我在官方文檔上看到了另外這幾個(gè)Provider:

Calendar Provider:日歷提供者,就是針對(duì)針對(duì)日歷相關(guān)事件的一個(gè)資源庫(kù),通過(guò)他提供的API,我們 可以對(duì)日歷,時(shí)間,會(huì)議,提醒等內(nèi)容做一些增刪改查!
Contacts Provider:聯(lián)系人提供者,這個(gè)就不用說(shuō)了,這個(gè)用得最多~后面有時(shí)間再回頭翻譯下這篇文章吧!
Storage Access Framework(SAF):存儲(chǔ)訪問(wèn)框架,4.4以后引入的一個(gè)新玩意,為用戶瀏覽手機(jī)中的 存儲(chǔ)內(nèi)容提供了便利,可供訪問(wèn)的內(nèi)容不僅包括:文檔,圖片,視頻,音頻,下載,而且包含所有由 由特定ContentProvider(須具有約定的API)提供的內(nèi)容。不管這些內(nèi)容來(lái)自于哪里,不管是哪個(gè)應(yīng) 用調(diào)用瀏覽系統(tǒng)文件內(nèi)容的命令,系統(tǒng)都會(huì)用一個(gè)統(tǒng)一的界面讓你去瀏覽。
其實(shí)就是一個(gè)內(nèi)置的應(yīng)用程序,叫做DocumentsUI,因?yàn)樗腎ntentFilter不帶有LAUNCHER,所以我們并沒(méi)有 在桌面上找到這個(gè)東東!嘿嘿,試下下面的代碼,這里我們選了兩個(gè)手機(jī)來(lái)對(duì)比: 分別是4.2的Lenovo S898T 和 5.0.1的Nexus 5做對(duì)比,執(zhí)行下述代碼:

 Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        intent.setType("image/*");
        startActivity(intent);

下面是運(yùn)行結(jié)果:

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)