請求系統相冊有三個Action:
(注意以下 圖庫(縮略圖) 和 圖片(原圖) 的區別)
ACTION_OPEN_DOCUMENT 僅限4.4或以上使用 默認打開原圖
ACTION_GET_CONTENT 4.4以下默認打開縮略圖 。 以上打開文件管理器 供選擇,選擇圖庫打開為縮略圖頁面,選擇圖片打開為原圖瀏覽。
ACTION_PICK 都可用,打開默認是縮略圖界面,還需要進一步點開查看。
下面會詳細介紹他們在不同版本系統中的測試結果區別:
測試系統:adroid 4.4.2 夜神模擬器
content://com.android.providers.media.documents/document/image%3A1372>>ACTION_OPEN_DOCUMENT從圖片獲取,打開是文件管理器的圖片選擇器,但是只能選擇圖片不能選圖庫,也不能選擇其他文件
content://com.android.providers.media.documents/document/image%3A1372>>ACTION_GET_CONTENT從圖片獲取 打開的還是文件管理器,可以選擇圖庫也可以選擇圖片
content://media/external/images/media/1372>>>>>>>>》》》ACTION_GET_CONTENT從圖庫獲取
content://media/external/images/media/1541>>>>>>>>》》》》ACTION_PICK默認打開圖庫,沒法選擇圖庫還是圖片
綜上: uri只跟 圖庫還是圖片選擇有關,跟action無關,是選擇圖片還是圖庫才跟action有關
測試系統: android 4.4.4
ACTION_OPEN_DOCUMENT ACTION_GET_CONTENT都是直接打開圖片,頁面比較漂亮
ACTION_PICK默認打開圖庫,界面比較丑
測試系統:android 6.0 華為
content://com.android.providers.media.documents/document/image%3A35144>>>ACTION_OPEN_DOCUMENT 不可選圖庫還是圖片
content://com.android.providers.media.documents/document/image%3A176> ACTION_GET_CONTENT選擇圖片中的
content://media/external/images/media/35144>>>>>>>>》》》》ACTION_GET_CONTENT選擇圖庫中的
content://media/external/images/media/35144>>>>>>>>》》》》》ACTION_PICK默認打開圖庫,沒法選擇圖庫還是圖片
測試系統:android4.2.1 華為
ACTION_GET_CONTENT 彈出圖庫和文件管理器,供選擇
ACTION_OPEN_DOCUMENT 直接崩,不能使用
ACTION_PICK 直接打開圖庫
綜上得出 :
結論一:
ACTION_OPEN_DOCUMENT 直接打開的是圖片
ACTION_GET_CONTENT 打開后可選擇是圖庫獲取還是圖片獲取
ACTION_PICK 直接打開的就是圖庫
結論二:
從圖片獲取到的uri 格式為:content://com.android.providers.media.documents/document/image%3A35144>>>
cong圖庫獲取到的uri格式為:content://media/external/images/media/35144>>>>>>
結論三:
4.4.4以上版本android系統,圖片的界面比圖庫的界面好看。
結論四:
content://media/external/images/media/35144這種格式,轉換成路徑后可以直接用
content://com.android.providers.media.documents/document/image%3A35144這種格式,轉換成路徑后不能直接用。
結論五:
ACTION_OPEN_DOCUMENT不能在android4.4以下版本用,否則會crash,我的低版本手機系統有問題,沒辦法打印log所以看不到崩潰原因,猜測是取不到數據,報空