I know this is not a technical question but I've searched a lot of time and can't find a suitable answer:
I would like to change the permissions of my app. You can find the app here: https://play.google.com/store/apps/details?id=io.trigger.forge2dd999d0f14b11e1bc8612313d1adcbe&feature=search_result#?t=W251bGwsMSwyLDEsImlvLnRyaWdnZXIuZm9yZ2UyZGQ5OTlkMGYxNGIxMWUxYmM4NjEyMzEzZDFhZGNiZSJd
If you look at "Permissions" it says:
YOUR PERSONAL INFORMATION
READ CONTACT DATA
Allows the app to read all of the contact (address) data stored on your tablet. Malicious apps may use this to send your data to other people. Allows the app to read all of the contact (address) data stored on your phone. Malicious apps may use this to send your data to other people.
And I would like to remove this so that the app does not read contact data of a user. Can someone tell me please how to do that?
Thanks,
enne
If the app doesn't actually access the contacts API, then you can safely remove the corresponding <uses-permission/> from your AndroidManifest.xml file and rebuild your APK.
http://developer.android.com/guide/topics/manifest/uses-permission-element.html
Just to add to Jeremy's answer about , looks like the permissions you are using are: android.permission.READ_PROFILE and android.permission.READ_CONTACTS
You need to remove those. For more details check this out:
http://developer.android.com/reference/android/Manifest.permission.html
Related
I am trying to figure out the use of android.permission.GLOBAL_SEARCH documentation does not provide any useful information.
What I am trying to achieve and where I am confused?
IMO this permission may allow the system app (that search widgets on launcher) to perform Global Search just like a search but for apps that expose a provider (search) like contacts, calendar, and more. Is this true? Or is it just a deprecated permission that the Android team forgot to remove?
I am trying to make a system app that can query almost all of the data on the device like contacts, media, calendar, and provide a way to open that in a supported app like contact data in contact app (based on Authority of provider) is android.permission.GLOBAL_SEARCH something I can use or should I look for something else?
Thanks in advance for the help :)
i have a question regarding - how contacts are synced between your android app and server to retreive particular contacts just like whatsapp? Can anyone help me out here?
You basically need to add permission to read the device contacts and then you'll have access to them. There's a guide here: https://developer.android.com/training/contacts-provider/retrieve-names.html
since contact is a shared data. you have to to use content providers to update conact. Refer this http://developer.android.com/guide/topics/providers/content-provider-basics.html
I recently got interested in anything android.
I figured if you install apps on your android device, they have a lot of rights.
This is pretty scary, at least i think.
A program like whatsapp is able to view and store and sent pretty much all of the device its information.
However my questions is, how can whatsapp view and copy and edit contacts, if the whole contacts thing ( stored in /data ) is root ? If i try to access the folders from my computer it gives me an error, that i do not have permission to view it.
So what in the whatsapp apk is used to extract the contact information from a root folder ?
I am very thankful for help !
Greetings,
So what in the whatsapp apk is used to extract the contact information from a root folder ?
Most likely, they use the ContactsContract API to read contact data. They hold the READ_CONTACTS permission, which allows them to use this API. They also hold the WRITE_CONTACTS permission, which allows them to modify contacts.
On Android, there are public APIs that allow you to read Contact data. These require permissions.
A list of permissions can be found here:
Android Manifest Permissions
The permissions I imagine you are referring to are READ_CONTACTS and WRITE_CONTACTS. The actual data is accessed by a Content Provider. Content providers allow you to access data on the phone such as contacts, music, photos etc.
In WhatsApp's case, they will not be accessing any root folders, but using the Content Provider API which exposes the user's contacts.
I want to let my app scan the users contactlist , and display the name of the contacts who also installed the app.
I have no idea where to begin with this . so if someone could help me getting started , that would be apreciated.
grtz
You will need to research ContentResolver because you will have to query the database containing the contacts. To do these queries, you will need the URI and column/header names for contacts db which can be found in the Contacts class.
You will also need users to register that they have your app on your own servers and the registration will need a piece of information about the user that other users would have in their contacts (the users phone number, email address, etc).
You will then need to query a few users at a time from the users contacts for this piece of information (using the ContentResolver and Contacts class), pass it to your server (as text) where it will check if they are registered, then send a message back to initial user (and possibly the match) that you found a match.
That's where you should start, and end :)
Note, you will need these permissions in the Manifest file:
android.permission.INTERNET
android.permission.READ_CONTACTS
First of all, welcome to StackOverflow. StackOverflow is for programming questions. As is such, a post asking for help should always provide a description of what you have already tried. If you haven't tried anything yet, I highly encourage you to try something, and post when you encounter a problem.
As your question stands now, we don't know what the problem is. Are you having problems scanning a contact list? Or are you having problems trying to figure out if another user has installed the app?
That being said, you will have to maintain a database for your app containing a list of people who have installed your app. When your app is launched on one device, do whatever you need to do to register the user in your database. Due to the nature of a "contact," one person's phone may only have their phone number, email address, or even just a name. This is of course something you will have to deal with in your implementation.
Is there a way to get the user's first name or entire name? I mean the user of the phone
does it require special manifest permissions?
Yep, starting in ICS you can read the profile of the device owner (which requires the READ_PROFILE permission):
http://developer.android.com/reference/android/provider/ContactsContract.Profile.html
Specifically the DISPLAY_NAME column should have their name. Or you could look up the StructuredName data item to get their GIVEN_NAME:
http://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.StructuredName.html
What exactly do you mean? You may be able to access the name in certain ways:
You can try to access their information stored in a Google account, requiring the GET_ACCOUNTS permission
You could, as Vinayak.B suggested, try to glean the info from the contacts, requiring the READ_CONTACTS and the READ_PHONE_STATE permission, although I think this is a hit-or-miss option.
There is also a READ_PROFILE permission, which I think is an interesting way to go, but I don't have any experience with that, so I can't tell you whether or not it's a fruitful venture.
I would try the GET_ACCOUNTS option first, since they must have a Google account to download your app. It also seems a little less invasive to me
I really hope this answers your question, but if it doesn't, you really need to provide more information.
Do you mean from device Contact list? if yes, get the source code and which permission from here : http://tutorials-android.blogspot.in/2011/11/how-to-call-android-contacts-list.html