讀取相簿 拍照

2022-07-16 21:45:21 字數 2444 閱讀 4771

這兩天在做專案時,做到上傳功能一塊時,碰到兩個問題,乙個是如何獲取所選的路徑,乙個是如何壓縮,在查了一些資料和看了別人寫的後總算折騰出來了,在此記錄一下。

首先既然要選擇,我們就先要獲取本地所有的,android已經為我們封裝好了該意圖。12

3451intent intent =newintent(intent.action_pick,null);//從列表中選擇某項並返回所有資料

2intent.setdataandtype(

3mediastore.images.media.external_content_uri,//得到系統所有的

4"image/*");//的型別,image/*為所有型別

5startactivityforresult(intent, photo_gallery);

然後我們重寫onactivityresult方法。

所以我們需要使用activity.managedquery(uri, projection, selection, selectionargs, sortorder)方法從資料中獲取相應資料。

uri:  需要返回的資源索引

projection: 用於標識有哪些資料需要包含在返回資料中。

selection: 作為查詢符合條件的過濾引數,類似於sql語句中where之後的條件判斷。

selectionargs: 同上。

sortorder: 對返回資訊進行排序。12

3456

78910

1112

1314

1516

1718

1920

2122

2324

2526

271@override

2protectedvoidonactivityresult(intrequestcode,intresultcode, intent data)

3;

11//獲取包含所需資料的cursor物件

12@suppresswarnings("deprecation")

13cursor cursor = managedquery(data.getdata(), proj,null,null,null);

14//獲取索引

15intphotocolumn =  cursor.getcolumnindexorthrow(mediastore.images.media.data);

16//將游標一直開頭

17cursor.movetofirst();

18//根據索引值獲取路徑

19string path = cursor.getstring(photocolumn);

20

21

22break;

23}

24

25default:

26break;

27}

Andriod相簿 拍照 裁剪總結

進行相簿 拍照 裁剪操作時需要檢查是否申請了如下許可權,注意6.0的動態許可權申請,並且檢查是否註冊了fileprovider android name android.permission.read external storage android name android.permission....

解決Android拍照儲存在系統相簿不顯示的問題

可能大家都知道我們儲存相簿到android手機的時候,然後去開啟系統相簿找不到我們想要的那張,那是因為我們插入的還沒有更新的緣故,先講解下插入系統相簿的方法吧,很簡單,一句 就能實現 mediastore.images.media.insertimage getcontentresolver mbi...

Android呼叫系統相簿和系統相機拍照

呼叫系統相機拍照 intent new intent mediastore.action image capture startactivityforresult intent,result camara image result camara image activity的標誌。自已定義 呼叫系統...