Когда я получил свой телефон, я импортировал свои старые контакты, написав небольшую программу, которая использует API контактов . Это сработало отлично, и все мои контакты хранились локально на телефоне (синхронизация с Google отключена). Теперь мне нужно добавить новый контакт вручную через стандартное меню контактов. У меня есть только возможность добавить новый контакт в мою «учетную запись Google», нет выбора для локального хранилища. Все контакты, которые я добавил с помощью моей программы, правильно указаны как «только телефон, несинхронизированный контакт», и это то, что я хотел бы, чтобы произошло и с новыми контактами, которые я добавляю из стандартного меню контактов.
Я знаю об этом вопросе , но в меню настроек контактов, описанном в ответе на этот вопрос, вообще нет настроек хранилища.
Что мне делать, чтобы добавить новые контакты в локальное хранилище? Я мог бы, конечно, использовать программу, которую написал, но в конечном итоге это кажется немного громоздким, и наверняка должен быть способ сделать это через меню?
Я использую Android 4.0.2 на Galaxy Nexus.
Отключите приложение Google Contacts Sync ( Settings -> Apps -> All -> GoogleContactsSyncAdapter
-> Отключить) и перезагрузите компьютер, затем попробуйте снова добавить контакт. Если это не помогает, и вы рутировали свой Android, вы можете удалить /system/app/GoogleContactsSyncAdapter.apk
его с помощью файлового браузера (но сначала сделайте резервную копию!). В любом случае, в следующий раз, когда вы создадите контакт, вы должны быть проинформированы о том, что контакт будет храниться локально.
Насколько я могу судить, это ничего не сломает.
Однако, если вы также используете другую учетную запись с функцией синхронизации, такую как Microsoft Exchange (для горячей почты), вам также придется удалить ее. В случае Microsoft Exchange лучше всего удалить всю учетную запись, потому что простое отключение приложения в любом случае не позволит вам получать электронные письма.
По сравнению с моим первым ответом , есть другое (более простое) решение, которое также сработало для меня:
Используйте приложение MyLocalAccount для создания локальной учетной записи. Затем вы можете легко синхронизировать свои контакты с вашим ПК с помощью MyPhoneExplorer .
Одно решение, которое сработало для меня, заключается в следующем:
Разместите свой собственный экземпляр ownCloud , а затем синхронизируйте свои контакты через CalDav ( Google Play или бесплатно на F-Droid ).
Альтернативой может быть CardDAV для контактов и ICalSync2 для календарей.
Для другого (более простого) решения см. мой второй ответ .
Может быть лучший обходной путь для этой проблемы, но я только что попробовал это:
Создайте другую (не текущую) учетную запись Google, например Locale.Phonebook@gmail.com
.
Если в вашей обычной учетной записи Google не было контактов, все готово. Просто убедитесь, что ваше программное обеспечение для синхронизации использует правильную (новую) учетную запись.
Если у вас были контакты в вашей обычной учетной записи, вам придется каким-то образом перенести их из обычной учетной записи Google в специальную новую учетную запись.
Я использовал программное обеспечение My Phone Explorer (MPE), чтобы сделать это, но это сложно.
Теперь измените папку/учетную запись, используемую для синхронизации контактов в клиенте MPE на телефоне, на новую. Также измените папку/учетную запись, в которую попадают новые контакты (на новую учетную запись).
Теперь ваши контакты хранятся в учетной записи Google (что делает ваш телефон ICS/Jelly Bean счастливым), но вы уверены, что контакты не могут быть случайно синхронизированы с Google (что, надеюсь, сделает вас счастливыми).
Почему они заставляют нас делать такие вещи? Я думаю, что тот, кто хочет сохранить свои данные в тайне, должен иметь возможность сделать это без использования уловок.
Кто-нибудь может запрограммировать нового контент-провайдера для контактов с помощью локального магазина?
Кстати: MPE по-прежнему может хранить контакты на телефоне локально, как это работало до ICS, при синхронизации с ПК. Однако проблема в том, что на телефоне вы не можете добавить новый контакт в это локальное хранилище, он просто не отображается, когда вас спрашивают, где сохранить новый контакт.
Ловушка: иногда вы увидите сообщение о том, что возникла проблема со входом в удаленную учетную запись. Вместо того, чтобы злиться на это, вы можете быть счастливы, потому что это показывает вам, что вы только что успешно предотвратили утечку данных с вашего телефона в Google ;-)
Начиная с ICS, Google перестал разрешать вам хранить контакты локально.
Некоторые производители добавляют это вручную в свои собственные ПЗУ.
Теперь вам нужно синхронизировать его с типом учетной записи.
Вы можете использовать локальный календарь из репозитория Android F-Droid FOSS.
Я использую его без каких-либо проблем на моем телефоне.
Если у вас есть root-права, используйте Titanium Backup Pro и заморозьте «Google Contact Sync». Это будет красным текстом, но не беспокойтесь об этом, все равно заморозьте его.
Теперь, если вы зайдете, например, в WhatsApp и добавите контакт, он выдаст вам сообщение о добавлении учетной записи, нажмите «Сохранить локальный». Готово, сохранение локального контакта теперь будет вариантом по умолчанию.
Чтобы по какой-либо причине отменить процесс, просто разморозьте приложение из Titanium Backup Pro.
Отображаемое имя
Генрих Ульбрихт
Мариан
com.google.android.syncadapters.contacts
на странице сведений, вы правы.Харальд