cordova-plugin-android-permissions icon indicating copy to clipboard operation
cordova-plugin-android-permissions copied to clipboard

Dialog not showing

Open dioxmio opened this issue 8 years ago • 14 comments

Hi,

the dialog isn't showing for me. The api of my app is 14 and the device which I'm trying on is on Android 6.0 version. I'm trying to get CAMERA permission for example. I have modified the plugin by adding another permission: private String[] getPermissions(JSONArray permissions) { String[] stringArray = new String[permissions.length() + 1]; for (int i = 0; i < permissions.length(); i++) { try { stringArray[i] = permissions.getString(i); } catch (JSONException ignored) { //Believe exception only occurs when adding duplicate keys, so just ignore it } } stringArray[1] = Manifest.permission.READ_EXTERNAL_STORAGE; return stringArray; }

and this works: I can see both permission dialogs showing up.

If I hardcode this permission it does the job as well:

private String[] getPermissions(JSONArray permissions) { String[] stringArray = new String[permissions.length()]; for (int i = 0; i < permissions.length(); i++) { try { stringArray[i] = Manifest.permission.READ_EXTERNAL_STORAGE; } catch (JSONException ignored) { //Believe exception only occurs when adding duplicate keys, so just ignore it } } return stringArray; }

Hardcoding the Manifest.permission.CAMERA wouldn't work.In that scenario though.

Any ideas? I'm still confused why it wouldn't work on some scenarios and it would on others. Without tweaking the plugin I couldn't get it to work on any permission I requested.

dioxmio avatar Dec 01 '16 16:12 dioxmio

So you mean if you just only put camera permission will not work on your device and if you put more permissions with camera permission it will work, right?

NeoLSN avatar Dec 02 '16 11:12 NeoLSN

Yes, for some reason I can see the permissions popup if I don t manually tweak the plugin and add an extra one. Do you know what might be the reason?

dioxmio avatar Dec 03 '16 22:12 dioxmio

*can t

dioxmio avatar Dec 03 '16 22:12 dioxmio

I still can not reproduce this issue. Are you still facing this issue?

NeoLSN avatar Jan 04 '17 06:01 NeoLSN

Yes i specifically see this happening, not popup, and directly goes to error callback. haven't tried with multiple permissions.

talamaska avatar Mar 28 '17 10:03 talamaska

I tested on an acer iconia 10 (android 6) with permissions.requestPermission(permissions.ACCESS_FINE_LOCATION , success, error); no popup either.. it go to .... function success( status ) { if( !status.hasPermission ) error(); // it goes to this one }

yshen65 avatar Apr 14 '17 05:04 yshen65

I'm also not seeing the permissions dialog when I'm running my app in the emulator. I do a checkPermissions and it goes to the success callback that looks like this:

    var permissionsSuccess = function(status) {
      if (status.hasPermission) {
        console.log("Yay! we got permission!");
      } else {
        console.log("Requesting permission.");
        permissions.requestPermission(permissions.PACKAGE_USAGE_STATS, (status) => {
          if( !status.hasPermission ) { permissionsError("You just can't win!") };
        }, permissionsError);
      }
    }

It immediately displays "Requesting permission." and then "You just can't win!" in the CLI console. Any help with this would be awesome!

les-buchanan avatar May 19 '17 03:05 les-buchanan

Same problem here today. The popup/dialog is just not showing for whatever reason. CheckPermissions works fine, however request just doesn't. I tried everything and it just doesn't work

Kromas avatar May 23 '17 16:05 Kromas

my issue has been resolved,

in my case I checked the use-permission on AndroidManifest.xml. but missing the request permission on the AndroidManifest.xml. I do not know the cause, but it was gone.

I added permission and it was displayed dialog.

yuta-take avatar Jun 21 '17 15:06 yuta-take

Same issue when requesting permission permission dialog not showing. i checked the manifest permission is already there. And it goes directly goes to rejected without even asking. When using checkPermission method it retuns true even if permission not granted. This plugin is useless so far

asadwaheed1 avatar Aug 16 '17 12:08 asadwaheed1

Had the same problem. Forgot to add video permission to Android Manifest after platfrom remove, platform add. Everyone having the same issue, double-check your AndroidManifest.xml, it should contain either one or both of these

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />

mlshv avatar Nov 21 '17 15:11 mlshv

I have found that my permission request call was called twice for some reason, probably ionic issue. I don't think I can reproduce it anymore.

talamaska avatar Nov 22 '17 11:11 talamaska

@mlshv Thank you so much! I'm a beginner and found this cordova plugin before researching Android permissions in general. I had no idea I needed this as well.

@NeoLSN Thanks for this plugin! Perhaps the manifest instructions can be included in README instructions?

For anyone in the future who, like me, is trying to use video and audio for WebRTC, in addition to RECORD_AUDIO and CAMERA, I also needed MODIFY_AUDIO_SETTINGS for audio to work:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />

reedspool avatar Jan 05 '18 20:01 reedspool

Had the same problem. Ended by adding this in my config.xml (cordova 9+) :

...
<platform name="android">
    <config-file target="AndroidManifest.xml" parent="/manifest">
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    </config-file>
    ...
</platform>
...

dcrousset avatar Oct 18 '22 21:10 dcrousset