Когда я получил свой телефон, я импортировал свои старые контакты, написав небольшую программу, которая использует API контактов . Это работало отлично, и все мои контакты хранились локально на телефоне (синхронизация с Google отключена). Теперь мне нужно добавить новый контакт вручную через стандартное меню контактов. У меня есть только возможность добавить новый контакт в мою «учетную запись Google», для локального хранилища выбора нет. Все контакты, которые я добавил пакетным способом с моей программой, правильно перечислены как «только телефон, несинхронизированный контакт», и это то, что я хотел бы случиться также с новыми контактами, которые я добавляю из стандартного меню контактов.
Мне известен этот вопрос , но в меню настроек контактов, описанных в ответе на этот вопрос , вообще нет настроек хранения.
Что мне делать, чтобы добавить новые контакты в локальное хранилище? Я, конечно, мог бы использовать программу, которую написал, но в долгосрочной перспективе это кажется немного громоздким, и, конечно, должен быть способ сделать это через меню?
Я использую стандартный Android 4.0.2 на Galaxy Nexus.
com.google.android.syncadapters.contacts
на странице сведений, вы правы.По сравнению с моим первым ответом , у меня есть другое (более простое) решение:
Используйте приложение 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 Repository
Я использую его без каких-либо проблем на моем телефоне.
источник
Если у вас есть root, используйте Titanium Backup Pro и заморозьте «Google Contact Sync». Это будет красным текстом, но не беспокойтесь об этом, все равно заморозьте.
Теперь, если вы, например, зайдете в WhatsApp и добавите контакт, он сообщит вам о добавлении учетной записи, нажмите «сохранить локальный». Вы сделали, сохраняя контакт локальным теперь будет по умолчанию.
Чтобы изменить процесс по какой-либо причине, просто разморозьте приложение из Titanium Backup Pro.
источник