1. 程式人生 > >Android生成二維碼--拍照或從相簿選取圖片

Android生成二維碼--拍照或從相簿選取圖片

private void handleImageOnKitKat(Intent data) { String imagePath = null; Uri uri = data.getData(); if (DocumentsContract.isDocumentUri(this, uri)) { // 如果是document型別的Uri,則通過document id處理 String docId = DocumentsContract.getDocumentId(uri); if ("com.android.providers.media.documents".equals(uri.getAuthority())) { String id
= docId.split(":")[1]; // 解析出數字格式的id String selection = MediaStore.Images.Media._ID + "=" + id; imagePath = getImagePath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, selection); } else if ("com.android.providers.downloads.documents".equals(uri.getAuthority())) { Uri contentUri
= ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(docId)); imagePath = getImagePath(contentUri, null); } } else if ("content".equalsIgnoreCase(uri.getScheme())) { // 如果是content型別的Uri,則使用普通方式處理 imagePath = getImagePath(uri, null
); } else if ("file".equalsIgnoreCase(uri.getScheme())) { // 如果是file型別的Uri,直接獲取圖片路徑即可 imagePath = uri.getPath(); } displayImage(imagePath); // 根據圖片路徑顯示圖片 }