I want a list of permission of the application installed in android , but as seen by other applications which offer privacy advisor , they have explained or grouped the permission.
Also seen when installing a new application on the device.
How can i get grouped permission list ?
Any specific way to classify them ?
Is there a particular way to get the groups or permission group ?
Thanks in advance .
System permissions are listed here and permission groups here. All you need is to use PackageManager to get apps' permissions and then keep doing what you want to do.
Related
I have built an app that use different kind of permissions like location, contacts etc.
Not all the permissions are used by all the users, instead each user only needs the permissions related to the features he/she is using it.
My question, should I ask all the permission on startup for all users or can I add them gradually while using the app and only when needed?
Thanks
If a user doesn't know why they need to accept a specific permisson, they may be suspicious and refuse (eg. camera).
If they click on a functionnality like 'Scan code' they will know why they are being asked for that permission and accept.
If you asked beforehand and the user refused, when you get to the part where you need that permission, it won't work. This is why they changed it to dynamic permissions in Android 6.
I'm trying to use a custom permission created by another application (Bazaar) in my app (It's a permission to use a market com.farsitel.bazaar.permission.PAY_THROUGH_BAZAAR). Normally it works right.
But if Bazaar is installed after my application. My app won't get the custom permissions (Which are created by Bazaar) and throws exception. I want to know If anybody else has faced a similar problem and what solutions do you have to it?
This is a desired behaviour.
In the textbook, Android Security Internals: An In-Depth Guide to Android's Security Architecture by Nikolay Elenkov(2014) said:
The system can only grant a permission that it knows about, which
means that applications that define custom permissions need to be
installed before the applications that make use of those permissions
are installed. If an application requests a permission unknown to the
system, it is ignored and not granted.
BTW, permissions are assigned to each application at the install time by PackageManager, it maintains some information of installed packages, such as package name, version and permissions, these info are stored in /data/system/packages.xml. If you want to query all permissions on device, you can try pm list permissions.
I know how can i ask multiple permission at Runtime in android, and i am well aware about Group system in Runtime Permission Architecture.
I want to know if there is way allows to ask multiple Group permissions together as like multiple permissions at Runtime.
I want to ask Storage Group, Camera Group and Location Group permissions together.
You do not ask for rights to permission groups using the current runtime permission API. You ask for rights to permissions, not permission groups. At the moment, through Android 7.0, the way the system handles this is by asking the user to grant you rights to the associated permission groups. It may or may not do so in the future.
I want to know if there is way allows to ask multiple Group permissions together as like multiple permissions at Runtime.
No. There is no way to ask for a single permission group, let alone multiple ones.
As per current version of Android, there is no way to ask multiple Group permissions together as you want. There is other option possible is this
is there any way for hide the android manifest Permissions for some reasons and user couldnt see during installing the app?
Taken from the support page from Google Play:
Google Play shows you which permission groups an app will be able to
access. This information can help you decide whether you want to
install the app.
The whole sole purpose of those permissions is for people to see what your app can access and decide whether they want to share (all) that information with you.
In Android L and lower, this is impossible. If you do not ask for a permission, you will get a crash when you try to access the thing that needs permission. Thus, you cannot hide permissions from users.
In Android M, the whole permission idea is changed: instead of asking for lots of permission at the install, the app is installed without permissions, and when you need a specific permission, for example for camera, the user will have the option of accepting or declining the permission. Thus, the user will have a clearer view of what a permission is asked for.
I am in a situation where I need to read the users contacts. I am able to this but the app asks the user for the contacts permission when it is being installed. I would like to know is there a way by which the user will not be asked for the contacts permission during installation and only when the user is accessing a particular functionality a popup will appear asking for additional permission.
Thanks
Not possible. The app will always ask/show permissions needed while installing.
Android Permissions
Security Tips