Android SDK 23 introduced a new way to handle permissions, so as a temporary workaround you can set it to build for SDK below 23. As a permanent solution you have to ask user during runtime for permissions with checkSelfPermission() or requestPermissions()


You need the permission android.permission.READ_EXTERNAL_STORAGE. Write on the Android Manifest


MANAGE_USERS has a protection level of signature|system, so your application must be signed with the platform key. Take a look on this for more information about it.

You have a different solution? A short tip here would help you and many other users who saw this issue last week.

  • GitHub comment 16#159564966
    via GitHub by jkwiecien
    • java.lang.SecurityException: Permission Denial: reading uri content://media/external/images/media/102 from pid=18439, uid=10281 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission() at android.os.Parcel.readException( at android.database.DatabaseUtils.readExceptionFromParcel( at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel( at android.content.ContentProviderProxy.openTypedAssetFile( at android.content.ContentResolver.openTypedAssetFileDescriptor( at android.content.ContentResolver.openAssetFileDescriptor( at android.content.ContentResolver.openInputStream( at pl.aprilapps.easyphotopicker.EasyImage.pickedPicture( at pl.aprilapps.easyphotopicker.EasyImage.onPictureReturnedFromGallery( at pl.aprilapps.easyphotopicker.EasyImage.handleActivityResult( at pl.aprilapps.easyphotopicker.sample.MainActivity.onActivityResult( at at at at$1400( at$H.handleMessage( at android.os.Handler.dispatchMessage( at android.os.Looper.loop( at at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke( at$

    Users with the same issue

    157 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    12 times, last one,
    229 more bugmates