android 解决小米手机上选择照片路径为null的问题
??????? 之前做了一個(gè)獲取相冊(cè)選擇圖片的功能,后來測試人員在小米的手機(jī) 測試時(shí)出現(xiàn)崩潰現(xiàn)象。自己就在網(wǎng)上查找資料,發(fā)現(xiàn)是小米的獲取圖片路徑的代碼與其他的手機(jī)不一樣,于是修改了代碼,解決了這個(gè)問題,這里記錄一下。
這是在onActivityResult方法中執(zhí)行的,
if (data == null) {return;}uri = data.getData();uri = geturi(data);//解決方案String[] proj = { MediaStore.Images.Media.DATA };Cursor cursor = query(uri, proj, null, null, null);if(cursor!=null){int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);cursor.moveToFirst();String path = cursor.getString(column_index);// 圖片在的路徑Intent intent3 = new Intent(this, SYClipActivity.class);intent3.putExtra("path", path);startActivityForResult(intent3, IMAGE_COMPLETE);}
這里面如果不加uri?=?geturi(data);這個(gè)代碼,在其他的手機(jī)上是沒有問題的,但是在小米手機(jī)會(huì)崩潰。
這里面是先判斷相冊(cè)返回的intent的type,如果是小米手機(jī),則type包含("image/")),它的Scheme也是file。然后獲取到圖片的路徑,然后解析路徑得到圖片在手機(jī)的uri的ID,通過ContentResolver查詢圖片的ID得到圖片的URI的索引,然后返回圖片的URI.這樣就處理了小米手機(jī)獲取圖片URI的代碼。其他手機(jī)直接?uri?=?data.getData();?就獲取到了URI.
有點(diǎn)麻煩,自己都有些不懂的,大家可以去網(wǎng)上查找資料看看。
android 解決小米手機(jī)上選擇照片路徑為null的問題就講完了,就這么簡單。
總結(jié)
以上是生活随笔為你收集整理的android 解决小米手机上选择照片路径为null的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android toast的使用
- 下一篇: android 判断手机为小米