33

When I got my phone, I imported my old contacts by writing a small program that uses the contacts API. That worked great, and all my contacts were stored locally on the phone (sync with Google is turned off). Now I need to add a new contact manually through the standard contacts menu. I only get the option to add the new contact to my "Google account", there's no choice for local storage. All the contacts i batch-added with my program are correctly listed as "phone only, unsynced contact", and this is what I'd like to happen also with new contacts I add from the standard contacts menu as well.

I'm aware of this question, but there are no storage settings at all in the contacts settings menu described in that question's answer.

What do I do to add new contacts to the local storage? I could of course use the program I wrote, but that seems a bit cumbersome in the long run, and surely there must be a way to do this through the menus?

I'm running stock Android 4.0.2 on a Galaxy Nexus.

7 Answers 7

17

Disable the Google Contacts Sync app (Settings -> Apps -> All -> GoogleContactsSyncAdapter -> Disable) and reboot, then try adding a contact again. If this does not help and you have rooted your Android then you can delete /system/app/GoogleContactsSyncAdapter.apk with a file browser (but take a backup first!). Either way, next time you create a contact you should be informed that the contact will be stored locally.

As far as I can tell this won't break anything else.

However, if you also use another account with sync function like Microsoft Exchange (for hotmail), you'll have to remove that one too. In case of Microsoft Exchange, it's best to remove the entire account, because just disabling the app prevents you from receiving emails anyway.

Source

4
  • 1
    Works on Android 7.1, no root needed (although I had one). Application name is slightly different there, it's with spaces and without "Adapter" part. Commented Feb 15, 2017 at 20:48
  • 2
    Does anyone know, if the GoogleContactsSyncAdapter app is activated again (automatically) when installing system or system app updates? Commented Jul 9, 2017 at 12:51
  • To users using other languages: It might be named different. It probably has a blue address book icon (in Android 7 at least). If it shows com.google.android.syncadapters.contacts on the details page, you're right.
    – Marian
    Commented Dec 1, 2017 at 1:34
  • 1
    German: additionally you need the three-dot menu, top right, activate "Systemprozesse anzeigen" and look for "Google-Kontakte synchronisieren". (Comment edited by moderator Andrew T.)
    – Harald
    Commented Dec 2, 2018 at 13:01
5

Compared to my first answer, there is another (simpler) solution that also worked for me:

Use the MyLocalAccount App to create a local account. You can then easily sync your contacts with your PC using MyPhoneExplorer.

3
  • Where does MyLocalAccount save its data?
    – Royi
    Commented Mar 7, 2017 at 14:53
  • 1
    Once MyLocalAccount is installed, go to settings > accounts > add account > MyLocalAccount... the default "account" this creates is "Local Contacts." I use this with Contact Editor Pro to edit and create contacts because CEP shows what account a given contact belongs to, and lets you change that.
    – FutureNerd
    Commented Jun 6, 2017 at 22:42
  • 1
    Also note that doing this avoids having your phone connect to google servers for authentication (which is the case with other methods where you create and delete the google account afterwards). Any connection to a google server gives away your location to google, for those concerned with privacy. Now, I'm sure preventing completely your android phone to send requests to google servers would require more work, but that's a start.
    – youen
    Commented Aug 16, 2017 at 19:20
4

One solution that worked for me is the following:

Host your own instance of ownCloud, then sync your contacts via CalDav (Google Play or for free at F-Droid).
Alternatives would be CardDAV for contacts and ICalSync2 for calendars.

For another (simpler) solution see my second answer.

0
4

There may be a better workaround for this problem, but I just tried this:

  • Make sure you have all your contacts on a safe place outside your phone.

Create another (than your current) Google account, e.g. [email protected].

  • Add it to your phone. Make it the one that it used for new contacts by default.
  • Delete the account on Google again.

If you hadn't had any contacts in your normal Google account, you are done. Just make sure that your syncing software uses the correct (new) account.

If you had contacts in your normal account, you'll have to transfer them from the normal Google account to the special new account somehow.

I used the software My Phone Explorer (MPE) to do it, but it is tricky.

  • First, you need to set the folder/account used to sync the contacts in the MPE client on the phone to the one still containing the contacts.
  • Then sync. This will get the contacts over to the PC.
  • On the PC, copy ALL the contacts to clipboard. Also make a backup with MPE.
  • Then delete all contacts on the PC (select one, then press Ctrl-A to select all, then delete).
  • Then sync. This will delete the contacts from the (normal) Google account.

Now change the folder/account used to sync the contacts in the MPE client on the phone to the new one. Also change the folder/account where new contacts go into (to the new account).

  • On the PC, paste all contacts again into the application.
  • Then sync again. This will create the contacts in the new account.

Now your contacts are stored in a Google account (which keeps your ICS/Jelly Bean phone happy), but you are certain that the contacts cannot be accidentally synced with Google (which hopefully keeps you happy).

Why do they make us do such things? I think whoever wants to keep his data private should be able to do so without using tricks.

Is someone out there able to program a new content-provider for contacts using a local store?

BTW: MPE is still able to store the contacts on the phone locally the way it worked before ICS when you sync with your PC. However, the problem is, that on the phone you cannot add a new contact to this local store, it is just not being displayed when you are asked where to store the new contact.

Pitfall: Occasionally, you will see a message, that there is a login problem with the deleted account. Instead of being angry about that, you can be happy because it shows you that you just have successfully prevented data leakage from your phone to Google ;-)

6
  • 1
    The reason to your question about Google making you do such things is - Cloud everywhere, Google Drive, Google Email, Google Music etc, not to mention that the account is associated with Play Store. You are of course, not obliged to use it! Its part of Google and the manufacturers agreeing to approve handsets to have the Google experience". If the handset has not met the criteria, its simple, can always if wish to, flash gapps instead on top of it. If paranoid, switch off PC + smartphones, bury it in back of garden... :)
    – t0mm13b
    Commented Jan 25, 2013 at 0:02
  • @Arno: Thanks for the workaround, but I can't quite accept it. I'm still hoping for a prettier solution.
    – gspr
    Commented Jan 25, 2013 at 8:33
  • @t0mm: what an utter load of bullshit. First if all, the functionality is clearly there still - I accidentally got the desired behavior in my little program when I just used all the API functions that looked obvious fot adding contacts! Without a solution to the problem, I am in fact forced to use the cloud (or not add contacts).
    – gspr
    Commented Jan 25, 2013 at 8:38
  • @gspr: What part of that are you offended about? Ho wait, are you referring to development as in I accidentally got the desired behavior in my little program when I just used all the API functions that looked obvious fot adding contacts! ...
    – t0mm13b
    Commented Jan 25, 2013 at 14:54
  • @t0mm13b: I'm not offended. Your comment just reads like "the cloud is lovely, so you should embrace it and use it, and if you don't, you're simply being paranoid". I prefer to leave feelings about the cloud out of this; local contacts is a reasonable feature (one that is provided for in the API, and used to be exposed in the contacts program, no less), nomatter how I might feel about Google holding a list of every person I know just so I can call those people.
    – gspr
    Commented Jan 25, 2013 at 15:00
2

Since ICS, Google stopped allowing you to store contacts locally.

Some manufacturers add this manually to their own ROM's.

You now have to sync it to a type of account.

1
2

You can use Local Calendar from the Android F-Droid FOSS Repository

I am using it without any problems on my phone.

2
  • Neat! Does it do contacts, too? It doesn't say anywhere on the website...
    – gspr
    Commented May 26, 2013 at 14:46
  • 1
    No, this app is only for local calendar. A workaround for local contacts in CyanogenMod is disable the "Google Contacts Sync" app, then you can add again device-local contacts. I don't know whether this also works in other Android favours - just give it a try :-)
    – sd2k9
    Commented May 30, 2013 at 6:12
0

If you're rooted use Titanium Backup Pro and freeze "Google Contact Sync". It'll be in red text but don't worry about that, freeze it anyway.

Now if you go to WhatsApp, for example, and add a contact it'll give you a message about adding an account, click " keep local". You're done, keeping the contact local will be the default option now.

To reverse the process for whatever reason, just defrost the app from Titanium Backup Pro.

1
  • Basically the same as described in this answer, and a fallback in case the procedure described there doesn't work.
    – Izzy
    Commented Jul 7, 2014 at 13:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .