Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

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.

share|improve this question
add comment

7 Answers 7

up vote 3 down vote accepted

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

share|improve this answer
add comment

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.

share|improve this answer
2  
Looks like there is a bug tracker here: code.google.com/p/android/issues/detail?id=26834 –  ZnewmaN Dec 5 '12 at 17:57
add comment

There may be a better work-around 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. Locale.Phonebook@gmail.com.

  • 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 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 doing such things? I think who 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 your 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 ;-)

share|improve this answer
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 Jan 25 '13 at 0:02
    
@Arno: Thanks for the workaround, but I can't quite accept it. I'm still hoping for a prettier solution. –  gspr Jan 25 '13 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 Jan 25 '13 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 Jan 25 '13 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 Jan 25 '13 at 15:00
show 1 more comment

You can use Local Calendar from the Android FOSS Repository http://f-droid.org/

I am using it without any problems on my phone.

share|improve this answer
    
Neat! Does it do contacts, too? It doesn't say anywhere on the website... –  gspr May 26 '13 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 May 30 '13 at 6:12
add comment

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.

share|improve this answer
add comment

One solution that worked for me is the following:

Host your own instance of ownCloud, then sync your contacts via the CardDAV app. (BTW: If you want to sync your calendars as well, I suggest you use ICalSync2)

For another (simpler) solution see my second answer.

share|improve this answer
2  
If you have two separate solutions, it would probably be better to have them as two separate answers, so each can be voted on its own merits. –  Al E. Aug 29 '13 at 15:11
add comment

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.

share|improve this answer
    
Basically the same as described in this answer, and a fallback in case the procedure described there doesn't work. –  Izzy Jul 7 at 13:40
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.