Android調用系統相冊選擇圖片,支持小米4雲相冊

本博客原地址:http://my.oschina.net/reone/blog/734593java

用小米4調用系統相冊選擇照片時,若是雲相冊功能開啓的話.雲相冊中的圖片也會顯示在選擇列表中.通過測試,選擇到雲相冊中的圖片的話,uri的scheme是file,而再也不試content.本文支持雲相冊的方法就是經過判斷scheme來實現的.android

調用系統相冊ide

Intent intent = new Intent(Intent.ACTION_PICK,
                android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        startActivityForResult(intent, yourRequestCode);

重寫Activity中onActivityResult方法實現回調測試

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        //獲取圖片路徑
        if (requestCode == yourRequestCode && resultCode == Activity.RESULT_OK && data != null) {
            Uri localUri = data.getData();
            String scheme = localUri.getScheme();
            String imagePath = "";
            if("content".equals(scheme)){
                String[] filePathColumns = {MediaStore.Images.Media.DATA};
                Cursor c = getContentResolver().query(localUri, filePathColumns, null, null, null);
                c.moveToFirst();
                int columnIndex = c.getColumnIndex(filePathColumns[0]);
                imagePath = c.getString(columnIndex);
            }else if("file".equals(scheme)){//小米4選擇雲相冊中的圖片是根據此方法得到路徑
                imagePath = localUri.getPath();
            }
            showImage(imagePath);//拿到圖片路徑後處理
            c.close();
        }
    }
相關文章
相關標籤/搜索