Open Document UI filter picture
Private void startacitivty () { new Intent (); Intent.setaction ("Android.intent.action.GET_CONTENT"); Intent.settype ("image/*"); Startactivityforresult (Intent,1001); }
@Overrideprotected voidOnactivityresult (intReqintRes, Intent Intent) {LOG.D ("Onactivityresult", "1:" +req); LOG.D ("Onactivityresult", "2:" +res); LOG.D ("Onactivityresult", "3:" +intent); if(Intent! =NULL) {String data=intent.getdatastring (); Try{LOG.D ("Onactivityresult", "4:" + urldecoder.decode (data, "UTF-8"))); Queryimage (Urldecoder.decode (data,"UTF-8")); } Catch(unsupportedencodingexception e) {e.printstacktrace (); } } }
Ability to get picture content URI
Processing picture data below get picture path
Private voidqueryimage (String data) {string _path= "_data"; String _album= "Bucket_display_name"; intIDX = Data.lastindexof (":"); String ID=NULL; if(idx! =-1) {ID= data.substring (idx + 1); } log.d ("Onactivityresult", "ID:" +ID); Cursor Cursor= Getcontentresolver (). Query (MediaStore.Images.Media.EXTERNAL_CONTENT_URI,NULL, "_id=" + ID,NULL,NULL); if(Cursor.movetofirst ()) {String path=cursor.getstring (Cursor.getcolumnindex (_path)); String album=cursor.getstring (Cursor.getcolumnindex (_album)); LOG.D ("Onactivityresult", "Path:" + path + "," +album); File F=NewFile (path); if(F.exists ()) {Bitmap B=bitmapfactory.decodefile (path); Imageview.setimagebitmap (b); }} cursor.close (); }
The document selector interface for different phones differs.
START u0 {act=android.intent.action.get_content typ=image/* cmp=com.android.documentsui/. Documentsactivity (have extras)} from PID 11910
Document image selection for Android open system