Android从图库选择照片

Posted 无业中

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android从图库选择照片相关的知识,希望对你有一定的参考价值。

从机里取照片,开头用网上找的代码测试,导致类似下面这样的Crash:
java.lang.RuntimeException: Failure delivering result
java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media/1909 from pid=29038, uid=10236
requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()


好在在这里找到解决了
http://developer.android.com/samples/StorageClient/src/com.example.android.storageclient/StorageClientFragment.html#l233

用里面的getBitmapFromUri方法就行:

        /** Create a Bitmap from the URI for that image and return it.
         *
         * @param uri the Uri for the image to return.
         */
        private Bitmap getBitmapFromUri(Uri uri) {
            ParcelFileDescriptor parcelFileDescriptor = null;
            try {
                parcelFileDescriptor =
                        getActivity().getContentResolver().openFileDescriptor(uri, "r");
                FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();
                Bitmap image = BitmapFactory.decodeFileDescriptor(fileDescriptor);
                parcelFileDescriptor.close();
                return image;
            } catch (Exception e) {
                Log.e(TAG, "Failed to load image.", e);
                return null;
            } finally {
                try {
                    if (parcelFileDescriptor != null) {
                        parcelFileDescriptor.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                    Log.e(TAG, "Error closing ParcelFile Descriptor");
                }
            }
        }

 

以上是关于Android从图库选择照片的主要内容,如果未能解决你的问题,请参考以下文章

android使用片段从相机或画廊获取照片[重复]

在 Android 上从照片 URI 创建文件

Android 让用户从图库或相机中挑选/捕捉照片

Android开发模板代码——简单打开图库选择照片

Android 图库导入

android html5,如何从图库应用中获取照片并将其放入画布中