Fulguris icon indicating copy to clipboard operation
Fulguris copied to clipboard

Unable to start camera from image chooser

Open moneytoo opened this issue 3 years ago • 3 comments

Description

As Fulguris declares CAMERA permission in manifest, it's treated as denied, so launching Camera from intent chooser doesn't work.

Environment

  • Device: Nexus 5X
  • OS: Android 8.1.0
  • Version: 1.8.7

To reproduce

Steps to reproduce the behaviour:

  1. Go to https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file
  2. Click on 'Choose file' button
  3. Select 'Camera'
  4. See error

Expected behaviour

The app should request Camera permission.

Screenshots

Additional context

See https://issuetracker.google.com/issues/37063818

Error

2022-05-23 12:20:10.427 768-17285/? I/ActivityManager: START u0 {act=android.media.action.IMAGE_CAPTURE flg=0x3000003 cmp=com.google.android.GoogleCamera/com.android.camera.activity.CaptureActivity clip={text/uri-list U:file:///storage/emulated/0/Android/data/net.slions.fulguris.full.playstore/files/Pictures/JPEG_20220523_122005_7582697003038963449.jpg} (has extras)} from uid 10117
2022-05-23 12:20:10.427 768-17285/? W/ActivityManager: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3000003 cmp=com.google.android.GoogleCamera/com.android.camera.activity.CaptureActivity clip={text/uri-list U:file:///storage/emulated/0/Android/data/net.slions.fulguris.full.playstore/files/Pictures/JPEG_20220523_122005_7582697003038963449.jpg} (has extras) } from null (pid=-1, uid=10117) with revoked permission android.permission.CAMERA
2022-05-23 12:20:10.433 24593-24593/? E/ResolverActivity: Unable to launch as uid 10117 package net.slions.fulguris.full.playstore, while running in android:ui
    java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3000003 cmp=com.google.android.GoogleCamera/com.android.camera.activity.CaptureActivity clip={text/uri-list U:file:///storage/emulated/0/Android/data/net.slions.fulguris.full.playstore/files/Pictures/JPEG_20220523_122005_7582697003038963449.jpg} (has extras) } from null (pid=-1, uid=10117) with revoked permission android.permission.CAMERA
        at android.os.Parcel.readException(Parcel.java:2013)
        at android.os.Parcel.readException(Parcel.java:1959)
        at android.app.IActivityManager$Stub$Proxy.startActivityAsCaller(IActivityManager.java:8466)
        at android.app.Instrumentation.execStartActivityAsCaller(Instrumentation.java:1857)
        at android.app.Activity.startActivityAsCaller(Activity.java:4651)
        at com.android.internal.app.ResolverActivity$DisplayResolveInfo.startAsCaller(ResolverActivity.java:1185)
        at com.android.internal.app.ResolverActivity.safelyStartActivityInternal(ResolverActivity.java:843)
        at com.android.internal.app.ResolverActivity.safelyStartActivity(ResolverActivity.java:824)
        at com.android.internal.app.ResolverActivity.onTargetSelected(ResolverActivity.java:814)
        at com.android.internal.app.ChooserActivity.onTargetSelected(ChooserActivity.java:438)
        at com.android.internal.app.ResolverActivity.startSelected(ResolverActivity.java:628)
        at com.android.internal.app.ChooserActivity.startSelected(ChooserActivity.java:444)
        at com.android.internal.app.ChooserActivity$ChooserRowAdapter$2.onClick(ChooserActivity.java:1394)
        at android.view.View.performClick(View.java:6294)
        at android.view.View$PerformClick.run(View.java:24770)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

moneytoo avatar May 23 '22 10:05 moneytoo

Interesting, I did use the camera before though using WebRTC to make video calls.

Slion avatar May 23 '22 16:05 Slion

It works when user grants camera in permission settings. The app should ask for permission in not granted case

nift4 avatar Jun 01 '22 20:06 nift4

It works when user grants camera in permission settings. The app should ask for permission in not granted case

Thanks for reporting that. It should indeed be asking for permission, weird that it does not in your use case. It seems fairly easy to reproduce too with your instructions, sounds like an easy fix.

Slion avatar Jun 02 '22 07:06 Slion