Skip to main content
Answered

[Android] Android Sdk Crash on version 15.6.0 on new feature take a photo


Using latest version of sdk 15.6.0, there is a crash by clicking on the new button Take a photo in the message redaction.
The device is on Android 14, here is the stack trace.
 

Fatal Exception: java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=com.google.android.GoogleCamera/com.android.camera.activity.CaptureActivity clip={text/uri-list hasLabel(0) {U(content)}} (has extras) } from ProcessRecord{31fdd92 30802:com.kiplin.app.staging/u0a483} (pid=30802, uid=10483) with revoked permission android.permission.CAMERA
       at android.os.Parcel.createExceptionOrNull(Parcel.java:3057)
       at android.os.Parcel.createException(Parcel.java:3041)
       at android.os.Parcel.readException(Parcel.java:3024)
       at android.os.Parcel.readException(Parcel.java:2966)
       at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:2086)
       at android.app.Instrumentation.execStartActivity(Instrumentation.java:1873)
       at android.app.Activity.startActivityForResult(Activity.java:5615)
       at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:780)
       at androidx.core.app.ActivityCompat$Api16Impl.startActivityForResult(ActivityCompat.java:854)
       at androidx.core.app.ActivityCompat.startActivityForResult(ActivityCompat.java:245)
       at androidx.activity.ComponentActivity$1.onLaunch(ComponentActivity.java:239)
       at androidx.activity.result.ActivityResultRegistry$3.launch(ActivityResultRegistry.java:244)
       at androidx.activity.compose.ActivityResultLauncherHolder.launch(ActivityResultRegistry.kt:154)
       at androidx.activity.compose.ManagedActivityResultLauncher.launch(ActivityResultRegistry.kt:143)
       at androidx.activity.result.ActivityResultLauncher.launch(ActivityResultLauncher.java:47)
       at io.intercom.android.sdk.m5.conversation.ui.components.composer.CameraInputButtonKt$PhotoInputButton$2.invoke(CameraInputButton.kt:47)
       at io.intercom.android.sdk.m5.conversation.ui.components.composer.CameraInputButtonKt$PhotoInputButton$2.invoke(CameraInputButton.kt:41)
       at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke-k-4lQ0M(Clickable.kt:895)
       at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke(Clickable.kt:889)
       at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1.invokeSuspend(TapGestureDetector.kt:255)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
       at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:179)
       at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:168)
       at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
       at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:508)
       at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:497)
       at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:368)
       at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:665)
       at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:544)
       at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:566)
       at androidx.compose.foundation.AbstractClickablePointerInputNode.onPointerEvent-H0pRuoY(Clickable.kt:855)
       at androidx.compose.foundation.AbstractClickableNode.onPointerEvent-H0pRuoY(Clickable.kt:703)
       at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:317)
       at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
       at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
       at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
       at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
       at androidx.compose.ui.input.pointer.NodeParent.dispatchMainEventPass(HitPathTracker.kt:183)
       at androidx.compose.ui.input.pointer.HitPathTracker.dispatchChanges(HitPathTracker.kt:102)
       at androidx.compose.ui.input.pointer.PointerInputEventProcessor.process-BIzXfog(PointerInputEventProcessor.kt:96)
       at androidx.compose.ui.platform.AndroidComposeView.sendMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1446)
       at androidx.compose.ui.platform.AndroidComposeView.handleMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1398)
       at androidx.compose.ui.platform.AndroidComposeView.dispatchTouchEvent(AndroidComposeView.android.kt:1338)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3123)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2804)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3123)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2804)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3123)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2804)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3123)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2804)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3123)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2804)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3123)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2804)
       at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:490)
       at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1904)
       at android.app.Activity.dispatchTouchEvent(Activity.java:4403)
       at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:70)
       at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:448)
       at android.view.View.dispatchPointerEvent(View.java:15928)
       at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:7242)
       at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:7032)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6435)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6492)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6458)
       at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6623)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6466)
       at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6680)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6439)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6492)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6458)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6466)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6439)
       at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:9432)
       at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:9383)
       at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:9352)
       at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9558)
       at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:267)
       at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
       at android.os.MessageQueue.next(MessageQueue.java:335)
       at android.os.Looper.loopOnce(Looper.java:162)
       at android.os.Looper.loop(Looper.java:294)
       at android.app.ActivityThread.main(ActivityThread.java:8194)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)

Caused by android.os.RemoteException: Remote stack trace:
	at com.android.server.wm.ActivityTaskSupervisor.checkStartAnyActivityPermission(ActivityTaskSupervisor.java:1136)
	at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:1074)
	at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:742)
	at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1290)
	at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1241)



 

Best answer by aykut.aydin

Hey @VitaSokolova 

 

This issue has been fixed on the version 15.6.1. So if you update your SDK to 15.6.1 or 15.6.2 (this is the latest version at the moment) you will no longer encounter the issue above. Once you update, if you still experience any issues, please let me know here. 👍

 

https://github.com/intercom/intercom-android/releases

View original
Did this topic help you find an answer to your question?

6 replies

aykut.aydin
Employee
Forum|alt.badge.img+4
  • Customer Support Engineer
  • 104 replies
  • January 9, 2024

Hey @Augustin 
Thank you so much for sharing all the details above.

Looks like, this will need further investigation on our end, so I have escalated this with our Support Engineering team as a conversation. You will receive a reply from them in there as soon as possible.


  • New Participant
  • 3 replies
  • February 14, 2024

@aykut.aydin my app encountered exactly the same issue., may I also receive the reply from a technical support with recommendation how to deal with this problem?


aykut.aydin
Employee
Forum|alt.badge.img+4
  • Customer Support Engineer
  • 104 replies
  • Answer
  • February 15, 2024

Hey @VitaSokolova 

 

This issue has been fixed on the version 15.6.1. So if you update your SDK to 15.6.1 or 15.6.2 (this is the latest version at the moment) you will no longer encounter the issue above. Once you update, if you still experience any issues, please let me know here. 👍

 

https://github.com/intercom/intercom-android/releases


  • New Participant
  • 3 replies
  • February 15, 2024

Hi @aykut.aydin  you may already know about this issue, but v15.6.2 contains a dependency from androidx.compose.animation:animation-core:1.6.0, this version caused many crashes and must be updated to 1.6.1. Check this thread in Google’s IssueTracker. 


aykut.aydin
Employee
Forum|alt.badge.img+4
  • Customer Support Engineer
  • 104 replies
  • February 16, 2024

Hey @VitaSokolova 

 

Thanks for the reply! I will check this with our product team and will provide an update here.


aykut.aydin
Employee
Forum|alt.badge.img+4
  • Customer Support Engineer
  • 104 replies
  • February 22, 2024

Just an update, the issue which was reported by @VitaSokolova has been fixed in v15.6.3.

 

https://github.com/intercom/intercom-android/releases/tag/15.6.3


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings