内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

關(guān)于Android4.4的圖片路徑獲取,如果回來的Uri的格式有兩種

關(guān)于Android4.4的圖片路徑獲取,如果回來的Uri的格式有兩種
1、content://com.android.providers.media.documents/document/p_w_picpath:3951
2、content://media/external/p_w_picpaths/media/3951

解決辦法:
    1)、
        //>=4.4    時
        if(DocumentsContract.isDocumentUri(context, contentUri)){
            String wholeID = DocumentsContract.getDocumentId(contentUri);
            String id = wholeID.split(:)[1];
            String[] column = { MediaStore.Images.Media.DATA };
            String sel = MediaStore.Images.Media._ID + =?;
            Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, column,
                    sel, new String[] { id }, null);
            int columnIndex = cursor.getColumnIndex(column[0]);
            if (cursor.moveToFirst()) {
                filePath = cursor.getString(columnIndex);
            }
            cursor.close();
        
        //<4.4時
        }else{
            String[] projection = { MediaStore.Images.Media.DATA };
            Cursor cursor = context.getContentResolver().query(contentUri, projection, null, null, null);
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();
            filePath = cursor.getString(column_index);
        }
    2)、
       public static String getPath(final Context context, final Uri uri) {  
            
            final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;  
          
            // DocumentProvider  
            if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {  
                // ExternalStorageProvider  
                if (isExternalStorageDocument(uri)) {  
                    final String docId = DocumentsContract.getDocumentId(uri);  
                    final String[] split = docId.split(":");  
                    final String type = split[0];  
          
                    if ("primary".equalsIgnoreCase(type)) {  
                        return Environment.getExternalStorageDirectory() + "/" + split[1];  
                    }  
          
                    // TODO handle non-primary volumes  
                }  
                // DownloadsProvider  
                else if (isDownloadsDocument(uri)) {  
          
                    final String id = DocumentsContract.getDocumentId(uri);  
                    final Uri contentUri = ContentUris.withAppendedId(  
                            Uri.parse("content://downloads/public_downloads"), Long.valueOf(id));  
          
                    return getDataColumn(context, contentUri, null, null);  
                }  
                // MediaProvider  
                else if (isMediaDocument(uri)) {  
                    final String docId = DocumentsContract.getDocumentId(uri);  
                    final String[] split = docId.split(":");  
                    final String type = split[0];  
          
                    Uri contentUri = null;  
                    if ("p_w_picpath".equals(type)) {  
                        contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;  
                    } else if ("video".equals(type)) {  
                        contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;  
                    } else if ("audio".equals(type)) {  
                        contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;  
                    }  
          
                    final String selection = "_id=?";  
                    final String[] selectionArgs = new String[] {  
                            split[1]  
                    };  
          
                    return getDataColumn(context, contentUri, selection, selectionArgs);  
                }  
            }  
            // MediaStore (and general)  
            else if ("content".equalsIgnoreCase(uri.getScheme())) {  
          
                // Return the remote address  
                if (isGooglePhotosUri(uri))  
                    return uri.getLastPathSegment();  
          
                return getDataColumn(context, uri, null, null);  
            }  
            // File  
            else if ("file".equalsIgnoreCase(uri.getScheme())) {  
                return uri.getPath();  
            }  
          
            return null;  
        }  
          
        /**
         * Get the value of the data column for this Uri. This is useful for
         * MediaStore Uris, and other file-based ContentProviders.
         *
         * @param context The context.
         * @param uri The Uri to query.
         * @param selection (Optional) Filter used in the query.
         * @param selectionArgs (Optional) Selection arguments used in the query.
         * @return The value of the _data column, which is typically a file path.
         */  
        public static String getDataColumn(Context context, Uri uri, String selection,  
                String[] selectionArgs) {  
          
            Cursor cursor = null;  
            final String column = "_data";  
            final String[] projection = {  
                    column  
            };  
          
            try {  
                cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs,  
                        null);  
                if (cursor != null && cursor.moveToFirst()) {  
                    final int index = cursor.getColumnIndexOrThrow(column);  
                    return cursor.getString(index);  
                }  
            } finally {  
                if (cursor != null)  
                    cursor.close();  
            }  
            return null;  
        }  
          
        /**
         * @param uri The Uri to check.
         * @return Whether the Uri authority is ExternalStorageProvider.
         */  
        public static boolean isExternalStorageDocument(Uri uri) {  
            return "com.android.externalstorage.documents".equals(uri.getAuthority());  
        }  
          
        /**
         * @param uri The Uri to check.
         * @return Whether the Uri authority is DownloadsProvider.
         */  
        public static boolean isDownloadsDocument(Uri uri) {  
            return "com.android.providers.downloads.documents".equals(uri.getAuthority());  
        }  
          
        /**
         * @param uri The Uri to check.
         * @return Whether the Uri authority is MediaProvider.
         */  
        public static boolean isMediaDocument(Uri uri) {  
            return "com.android.providers.media.documents".equals(uri.getAuthority());  
        }  
          
        /**
         * @param uri The Uri to check.
         * @return Whether the Uri authority is Google Photos.
         */  
        public static boolean isGooglePhotosUri(Uri uri) {  
            return "com.google.android.apps.photos.content".equals(uri.getAuthority());  
        }  
    }

創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元陽春做網(wǎng)站,已為上家服務(wù),為陽春各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

當(dāng)前名稱:關(guān)于Android4.4的圖片路徑獲取,如果回來的Uri的格式有兩種
文章位置:http://www.rwnh.cn/article46/jicihg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、手機(jī)網(wǎng)站建設(shè)、面包屑導(dǎo)航、云服務(wù)器靜態(tài)網(wǎng)站、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
东方市| 镇远县| 江山市| 防城港市| 马尔康县| 五大连池市| 和龙市| 曲水县| 大丰市| 丰原市| 建阳市| 怀来县| 获嘉县| 南木林县| 招远市| 额济纳旗| 乐至县| 余庆县| 教育| 固原市| 札达县| 赤城县| 岗巴县| 晋中市| 高唐县| 同江市| 积石山| 朝阳区| 永城市| 临沭县| 中江县| 班玛县| 永仁县| 水富县| 离岛区| 明水县| 黄冈市| 中江县| 青冈县| 青铜峡市| 库尔勒市|