Comments (7)
private fun pickCameraImage() {
cameraLauncher.launch(
ImagePicker.with(this.requireActivity())
.cameraOnly()
.maxResultSize(500, 500, true)
.createIntent()
)
}
private val cameraLauncher =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
if (it.resultCode == Activity.RESULT_OK) {
val uri = it.data?.data!!
mCameraUri = uri
} else {
parseError(it)
}
}
Above piece of code is also giving this error below:
Unable to decode stream: java.io.FileNotFoundException: /external_files/Android/data/com.example.app/files/DCIM/Camera/IMG_20230215_140915365.jpg: open failed: ENOENT (No such file or directory)
2023-02-15 14:09:19.949 30475-30475 AndroidRuntime com.example.app E FATAL EXCEPTION: main
Process: com.example.app, PID: 30475
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
at com.github.drjacky.imagepicker.provider.CompressionProvider.compressTask(CompressionProvider.kt:72)
at com.github.drjacky.imagepicker.provider.CompressionProvider.access$compressTask(CompressionProvider.kt:24)
at com.github.drjacky.imagepicker.provider.CompressionProvider$compress$1.invokeSuspend(CompressionProvider.kt:58)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:367)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
at com.github.drjacky.imagepicker.provider.CompressionProvider.compress(CompressionProvider.kt:57)
at com.github.drjacky.imagepicker.ImagePickerActivity.setImage(ImagePickerActivity.kt:172)
at com.github.drjacky.imagepicker.provider.CameraProvider.handleResult(CameraProvider.kt:142)
at com.github.drjacky.imagepicker.ImagePickerActivity.cameraLauncher$lambda$1(ImagePickerActivity.kt:59)
at com.github.drjacky.imagepicker.ImagePickerActivity.$r8$lambda$TbnVizF4DKsKWrDO5-zrgXMal9g(Unknown Source:0)
at com.github.drjacky.imagepicker.ImagePickerActivity$$ExternalSyntheticLambda1.onActivityResult(Unknown Source:4)
at androidx.activity.result.ActivityResultRegistry$1.onStateChanged(ActivityResultRegistry.java:149)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:360)
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:271)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:313)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:151)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
at androidx.lifecycle.ReportFragment.dispatch(ReportFragment.java:68)
at androidx.lifecycle.ReportFragment$LifecycleCallbacks.onActivityPostStarted(ReportFragment.java:187)
at android.app.Activity.dispatchActivityPostStarted(Activity.java:1430)
at android.app.Activity.performStart(Activity.java:8324)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3757)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2259)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:210)
at android.os.Looper.loop(Looper.java:299)
at android.app.ActivityThread.main(ActivityThread.java:8105)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@b3250f, Dispatchers.Main.immediate]
2023-02-15 14:09:19.952 30475-30475 OOMEventManagerFK com.example.app
I noticed it happened after I removed crop() option
from imagepicker.
You said:
... while request camera only.
but in your sample code, it's gallery.
Should I test by camera or gallery?
from imagepicker.
Fixed on 2.3.21.
from imagepicker.
Thanks quick reply and fix but Still issue exist @Drjacky . I modified sample app like below
ImagePicker.with(this)
.galleryOnly()
.maxResultSize(128, 128, false)
.setMultipleAllowed(true)
.galleryMimeTypes( // no gif images at all
mimeTypes = arrayOf(
"image/png",
"image/jpg",
"image/jpeg"
)
)
.createIntent()
Observed issue without cropping mention maxResultSize.
- In CompressionProvider compressTask Two places issue exist BitmapFactory.decodeFile(uri.path, BitmapFactory.Options ()) returning null
- In ImagePickerActivity setCompressedImage method not written well
from imagepicker.
private fun pickCameraImage() { cameraLauncher.launch( ImagePicker.with(this.requireActivity()) .cameraOnly() .maxResultSize(500, 500, true) .createIntent() ) } private val cameraLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { if (it.resultCode == Activity.RESULT_OK) { val uri = it.data?.data!! mCameraUri = uri } else { parseError(it) } }
Above piece of code is also giving this error below:
Unable to decode stream: java.io.FileNotFoundException: /external_files/Android/data/com.example.app/files/DCIM/Camera/IMG_20230215_140915365.jpg: open failed: ENOENT (No such file or directory) 2023-02-15 14:09:19.949 30475-30475 AndroidRuntime com.example.app E FATAL EXCEPTION: main Process: com.example.app, PID: 30475 java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference at com.github.drjacky.imagepicker.provider.CompressionProvider.compressTask(CompressionProvider.kt:72) at com.github.drjacky.imagepicker.provider.CompressionProvider.access$compressTask(CompressionProvider.kt:24) at com.github.drjacky.imagepicker.provider.CompressionProvider$compress$1.invokeSuspend(CompressionProvider.kt:58) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:367) at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30) at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25) at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110) at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126) at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56) at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1) at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47) at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1) at com.github.drjacky.imagepicker.provider.CompressionProvider.compress(CompressionProvider.kt:57) at com.github.drjacky.imagepicker.ImagePickerActivity.setImage(ImagePickerActivity.kt:172) at com.github.drjacky.imagepicker.provider.CameraProvider.handleResult(CameraProvider.kt:142) at com.github.drjacky.imagepicker.ImagePickerActivity.cameraLauncher$lambda$1(ImagePickerActivity.kt:59) at com.github.drjacky.imagepicker.ImagePickerActivity.$r8$lambda$TbnVizF4DKsKWrDO5-zrgXMal9g(Unknown Source:0) at com.github.drjacky.imagepicker.ImagePickerActivity$$ExternalSyntheticLambda1.onActivityResult(Unknown Source:4) at androidx.activity.result.ActivityResultRegistry$1.onStateChanged(ActivityResultRegistry.java:149) at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:360) at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:271) at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:313) at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:151) at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134) at androidx.lifecycle.ReportFragment.dispatch(ReportFragment.java:68) at androidx.lifecycle.ReportFragment$LifecycleCallbacks.onActivityPostStarted(ReportFragment.java:187) at android.app.Activity.dispatchActivityPostStarted(Activity.java:1430) at android.app.Activity.performStart(Activity.java:8324) at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3757) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221) at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2259) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:210) at android.os.Looper.loop(Looper.java:299) at android.app.ActivityThread.main(ActivityThread.java:8105) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045) Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@b3250f, Dispatchers.Main.immediate] 2023-02-15 14:09:19.952 30475-30475 OOMEventManagerFK com.example.app
I noticed it happened after I removed crop() option
I got this error too.
Mine is:
ImagePicker.with(this@AddSprayInspectionActivity) .maxResultSize(imageSize, imageSize, true) .provider(ImageProvider.BOTH) //Or bothCameraGallery() .createIntentFromDialog { launcher.launch(it) }
Any workaround or how to fix will be appreciated.
from imagepicker.
I have the same issue:
from imagepicker.
screenshot with the first error:
from imagepicker.
Related Issues (20)
- Black Image returned when cropping large images with higher resolution especially raw camera photos, tried it with a (3456 * 4608) . It doesn't crash though. HOT 6
- Setting up different languages HOT 1
- Android 13 not workinf HOT 4
- WRITE_EXTERNAL_STORAGE is denied between Sdk 29 and 33. HOT 2
- Getting ANR in some devices when picking from Gallery.
- [Crash] CropProvider.convertBitmapToFile - java.io.IOException - No such file or directory HOT 2
- Image provider can not be null
- In AndroidManifast file, Kindly updated the <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" />, like android:maxSdkVersion="33" this permission not working in android 10, 11, 12 devices
- Delete image when succesfull
- Screen Orientation Issue: Image Picker HOT 4
- Java Sample HOT 1
- API 29 crop image preview not showing black screen only available after crop HOT 1
- set limit on multiple images
- app crash when launch HOT 1
- Cropped Aspect Ratio! HOT 1
- Manifest merger failed : Attribute activity#com.yalantis.ucrop.UCropActivity@theme value=(@style/CameraTheme) from [paysprint_onboarding_live_1_0_9.aar] AndroidManifest.xml:56:13-47
- Could not scale to target size HOT 1
- Open front camera at first.
- [Crash] When picking a camera image without setting crop() HOT 1
- return error "Image provider can not be null"? Any idea...
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from imagepicker.