The rationale is the justification to the user on why they should grant the permission
"Location needed for GPS tagging"
"Camera needed for selfies"
 
The "UI" is operating system grant dialog.
 
 
Sent: Tuesday, June 26, 2018 at 5:02 PM
From: "René Hansen" <ren...@gmail.com>
To: "Pierre-Yves Siret" <py.si...@gmail.com>
Cc: interest <interest@qt-project.org>
Subject: Re: [Interest] Android: Better way of asserting permanent permission refusal
All things happen for a reason. :)

My rationale, is that I have a feature which is location based. I want to be able to let the user toggle the feature on/off via a switch on a settings page. In the case where a user has permanently deactivated location permissions for the app, I want this switch to equally be disabled, with a message instructing the user to edit global permissions, if they wish to use the feature.

I haven't tried out shouldShowRequestPermissionRationale, since I don't really understand what it does from the docs.

"Returns true if you should show UI with a rationale for requesting a permission."

I mean... What rationale? What UI?


/René
 
On Tue, 26 Jun 2018 at 15:05 Pierre-Yves Siret <py.si...@gmail.com> wrote:
2018-06-26 13:27 GMT+02:00 René Hansen <ren...@gmail.com>:
Hi,
 
 
When requesting specific permissions through QtAndroid::requestPermissions{,Sync}, the host native permissions popup has the option to "Don't show this again", on subsequent requests, which will permanently disable the popups on future invocations.
 
From then on a permission can only be given through host sytem global settings.
 
The question then becomes, is there a canonical way to figure out, if the user has ticked the "Don't show again" for a specific permission?

Right now I've resorted to heuristic, where I time the response of the permissions request. Typically it comes back in < 150 msec, when it has been perma-denied, and the fastest I've been able to allow or deny it via the popup was about 900 msec. I've placed my guesstimate predicate at 400 msec, to allow a bit of margin for error on slower devices.

But... this seems like such a bad hack.

Can anyone tell me of a better way to do this?
 
 
Best regards,
 
René Hansen
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
 
Hello,
 
The better way is not do it.
This Qt API just mirrors the Android API, and there is no native way to know if the user selected "Don't show this again" previously. At least not without calling requestPermissions.
 
Why do you want to check this?
If you want to show a rationale to thw user about why the app need a permission, you can use QtAndroid::shouldShowRequestPermissionRationale.
It will return true if the user previously denied the permission without selecting the "Don't show this again" option.
 
Regards,
Pierre-Yves Siret
 
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to