TedImagePicker
TedImagePicker copied to clipboard
Click on Camera Tile throw Security Exception
First time only ask permissions for storage to show images and when click on camera tile it doesn't ask about camera permissions and crash with security permission exception.
I've inserted all permissions into manifest. API LEVEL 29
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gun0912.tedonactivityresult.ProxyActivity}: java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=com.android.camera2/com.android.camera.CaptureActivity clip={text/uri-list U:content://media/external/images/media/42} (has extras) } from ProcessRecord{70f28f2 2912:/u0a169} (pid=2912, uid=10169) with revoked permission android.permission.CAMERA
USAGE
TedImagePicker.with(CreateAdPost.this).image().showCameraTile(true)
.selectedUri(galleryPaths).startMultiImage(new OnMultiSelectedListener() {
@Override
public void onSelected(@NotNull List<? extends Uri> list) {
}
});
I had same issue and solved by adding camera permission
code.
First, need camera permission code inside MANIFEST file.
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
Then, before using TedImagePicker, check CAMERA permission is not denied. (I used TedPermission library)
if ( hasPermission(this, Manifest.permission.CAMERA)) {
TedImagePicker.with(this)
.startMultiImage { uriList ->
}
} else {
TedPermission.with(this)
.setPermissionListener(object: PermissionListener {
override fun onPermissionGranted() {
TedImagePicker.with(this@MainActivity)
.startMultiImage { uriList ->
}
}
override fun onPermissionDenied(deniedPermissions: MutableList<String>?) {
Dlog.e("ON PERMISSION DENIED")
}
})
.setDeniedMessage("PERMISSION DENIED MESSAGE")
.setPermissions(Manifest.permission.CAMERA)
.check()
}