Dodać kontakt bez korzystania z „konta Google”?


32

Po otrzymaniu telefonu zaimportowałem stare kontakty, pisząc mały program korzystający z interfejsu API kontaktów . To działało świetnie, a wszystkie moje kontakty były przechowywane lokalnie na telefonie (synchronizacja z Google jest wyłączona). Teraz muszę ręcznie dodać nowy kontakt za pomocą standardowego menu kontaktów. Mam tylko opcję dodania nowego kontaktu do mojego „konta Google”, nie ma wyboru dla lokalnej pamięci. Wszystkie kontakty, które dodałem wsadowo do mojego programu, są poprawnie wymienione jako „tylko telefon, niezsynchronizowany kontakt”, i tak też chciałbym się stać z nowymi kontaktami, które dodałem ze standardowego menu kontaktów.

Mam świadomość tego pytania , ale w menu ustawień kontaktów opisanych w odpowiedzi na to pytanie nie ma żadnych ustawień pamięci.

Co mam zrobić, aby dodać nowe kontakty do lokalnej pamięci? Mógłbym oczywiście skorzystać z napisanego przeze mnie programu, ale na dłuższą metę wydaje się to trochę kłopotliwe, a na pewno musi istnieć sposób na zrobienie tego za pomocą menu?

Używam Androida 4.0.2 na Galaxy Nexus.

Odpowiedzi:


17

Wyłącz aplikację Google Contacts Sync ( Settings -> Apps -> All -> GoogleContactsSyncAdapter-> Wyłącz) i uruchom ponownie, a następnie spróbuj ponownie dodać kontakt. Jeśli to nie pomoże i zrootowałeś Androida, możesz usunąć go /system/app/GoogleContactsSyncAdapter.apkza pomocą przeglądarki plików (ale najpierw wykonaj kopię zapasową!). Tak czy inaczej, następnym razem, gdy utworzysz kontakt, powinieneś zostać poinformowany, że kontakt będzie przechowywany lokalnie.

O ile mogę powiedzieć, nie złamie nic innego.

Jeśli jednak używasz również innego konta z funkcją synchronizacji, takiego jak Microsoft Exchange (dla usługi Hotmail), musisz je również usunąć. W przypadku Microsoft Exchange najlepiej jest usunąć całe konto, ponieważ samo wyłączenie aplikacji uniemożliwia otrzymywanie wiadomości e-mail.

Źródło


1
Działa na Androidzie 7.1, nie wymaga rootowania (chociaż miałem jeden). Nazwa aplikacji jest tam nieco inna, ze spacjami i bez części „Adapter”.
Sarge Barszcz

2
Czy ktoś wie, czy aplikacja GoogleContactsSyncAdapter jest ponownie aktywowana (automatycznie) podczas instalowania aktualizacji systemu lub aplikacji systemowych?
Heinrich Ulbricht

Dla użytkowników korzystających z innych języków: może mieć inną nazwę. Prawdopodobnie ma niebieską ikonę książki adresowej (przynajmniej w Androidzie 7). Jeśli pokazuje się com.google.android.syncadapters.contactsna stronie szczegółów, masz rację.
Marian

1
Niemiecki: dodatkowo potrzebujesz menu z trzema kropkami, w prawym górnym rogu, aktywuj „Systemprozesse anzeigen” i poszukaj „Google-Kontakte synchronisieren”. Nie mogę pomóc w wyrażaniu opinii: dlaczego jest to konieczne, dlaczego nie zawsze mam swobodę wyboru między lokalnym a zsynchronizowanym. Zgadnij, co to mówi nam o opinii Google na temat naszych zdolności umysłowych.
Harald

5

W porównaniu do mojej pierwszej odpowiedzi istnieje inne (prostsze) rozwiązanie, które również dla mnie zadziałało:

Użyj aplikacji MyLocalAccount, aby utworzyć konto lokalne. Następnie możesz łatwo zsynchronizować kontakty z komputerem za pomocą MyPhoneExplorer .


Gdzie MyLocalAccount zapisuje swoje dane?
Royi,

1
Po zainstalowaniu konta MyLocalAccount przejdź do ustawień> konta> dodaj konto> MyLocalAccount ... domyślnym „kontem”, które tworzy, są „Kontakty lokalne”. Używam tego z Contact Editor Pro do edycji i tworzenia kontaktów, ponieważ CEP pokazuje, do którego konta należy dany kontakt, i pozwala to zmienić.
FutureNerd

1
Należy również pamiętać, że takie postępowanie pozwala uniknąć połączenia telefonu z serwerami Google w celu uwierzytelnienia (tak jest w przypadku innych metod, w których później tworzysz i usuwasz konto Google). Każde połączenie z serwerem Google ujawnia Twoją lokalizację w Google dla osób zainteresowanych prywatnością. Teraz jestem pewien, że całkowite zablokowanie wysyłania żądań na serwery Google przez telefon z Androidem wymagałoby więcej pracy, ale to dopiero początek.
Ty

4

Jednym ze sprawdzonych rozwiązań jest:

Hostuj własną instancję ownCloud , a następnie zsynchronizuj kontakty za pośrednictwem CalDav ( Google Play lub bezpłatnie na F-Droid ).
Alternatywami byłyby CardDAV dla kontaktów i ICalSync2 dla kalendarzy.

Inne (prostsze) rozwiązanie znajduje się w mojej drugiej odpowiedzi .


3
Jeśli masz dwa oddzielne rozwiązania, prawdopodobnie lepiej byłoby mieć je jako dwie osobne odpowiedzi, aby każde z nich mogło zostać poddane głosowaniu na podstawie własnych osiągnięć.
ale

4

Może być lepsze obejście tego problemu, ale właśnie wypróbowałem to:

  • Upewnij się, że masz wszystkie kontakty w bezpiecznym miejscu poza telefonem.

Utwórz inne (niż bieżące) konto Google, np Locale.Phonebook@gmail.com.

  • Dodaj go do swojego telefonu. Ustaw go jako domyślny dla nowych kontaktów.
  • Usuń konto ponownie w Google.

Jeśli nie masz żadnych kontaktów na swoim normalnym koncie Google, to koniec. Upewnij się tylko, że oprogramowanie do synchronizacji korzysta z prawidłowego (nowego) konta.

Jeśli masz kontakty na swoim normalnym koncie, musisz przenieść je z normalnego konta Google na nowe specjalne konto.

Użyłem do tego oprogramowania My Phone Explorer (MPE), ale jest to trudne.

  • Najpierw musisz ustawić folder / konto używane do synchronizowania kontaktów w kliencie MPE w telefonie z kontem wciąż zawierającym kontakty.
  • Następnie zsynchronizuj. Spowoduje to przeniesienie kontaktów do komputera.
  • Na komputerze skopiuj WSZYSTKIE kontakty do schowka. Wykonaj także kopię zapasową za pomocą MPE.
  • Następnie usuń wszystkie kontakty z komputera (wybierz jeden, a następnie naciśnij Ctrl-A, aby wybrać wszystkie, a następnie usuń).
  • Następnie zsynchronizuj. Spowoduje to usunięcie kontaktów z (normalnego) konta Google.

Teraz zmień folder / konto używane do synchronizacji kontaktów w kliencie MPE w telefonie na nowy. Zmień także folder / konto, do którego wchodzą nowe kontakty (do nowego konta).

  • Na komputerze wklej ponownie wszystkie kontakty do aplikacji.
  • Następnie ponownie zsynchronizuj. Spowoduje to utworzenie kontaktów na nowym koncie.

Teraz Twoje kontakty są przechowywane na koncie Google (dzięki czemu Twój telefon ICS / Jelly Bean jest szczęśliwy), ale masz pewność, że kontaktów nie można przypadkowo zsynchronizować z Google (co, mam nadzieję, sprawia, że ​​jesteś szczęśliwy).

Dlaczego zmuszają nas do takich rzeczy? Myślę, że ktokolwiek chce zachować prywatność swoich danych, powinien to zrobić bez sztuczek.

Czy ktoś może zaprogramować nowego dostawcę treści dla kontaktów korzystających z lokalnego sklepu?

BTW: MPE nadal może przechowywać kontakty w telefonie lokalnie tak, jak działało przed ICS podczas synchronizacji z komputerem. Problem polega jednak na tym, że w telefonie nie można dodać nowego kontaktu do tego lokalnego sklepu, po prostu nie wyświetla się, gdy zostaniesz zapytany, gdzie zapisać nowy kontakt.

Pitfall: Czasami pojawia się komunikat, że z usuniętym kontem wystąpił problem z logowaniem. Zamiast być z tego powodu zły, możesz być szczęśliwy, ponieważ pokazuje, że właśnie udało Ci się zapobiec wyciekowi danych z telefonu do Google ;-)


1
Powodem twojego pytania na temat tego, jak Google zmusza Cię do takich rzeczy, jest - Chmura wszędzie, Dysk Google, Google Email, Google Music itp., Nie wspominając już o tym, że konto jest powiązane ze Sklepem Play. Oczywiście nie musisz tego używać! Jego część Google i producenci zgadzają się zatwierdzić telefony, aby mieć doświadczenie Google . ”Jeśli telefon nie spełnia kryteriów, jest prosty, zawsze może, jeśli chcesz, flashować Gappa zamiast niego. Jeśli paranoikiem, wyłącz komputer + smartfony, zakopuj go w ogrodzie ... :)
t0mm13b

@Arno: Dzięki za obejście, ale nie mogę tego zaakceptować. Nadal mam nadzieję na ładniejsze rozwiązanie.
gspr

@ t0mm: co za bzdury. Po pierwsze, funkcjonalność jest nadal widoczna - przypadkowo dostałem pożądane zachowanie w moim małym programie, gdy tylko użyłem wszystkich funkcji API, które wyglądały oczywiste na dodanie kontaktów! Bez rozwiązania problemu jestem w rzeczywistości zmuszony do korzystania z chmury (lub nie dodawania kontaktów).
gspr

@gspr: Jaką częścią tego jesteś obrażony? Czekaj, czy masz na myśli programowanie, ponieważ przypadkowo dostałem pożądane zachowanie w moim małym programie, gdy użyłem wszystkich funkcji API, które wyglądały oczywisto przy dodawaniu kontaktów! ...
t0mm13b

@ t0mm13b: Nie jestem obrażony. Twój komentarz brzmi po prostu: „chmura jest cudowna, więc powinieneś ją objąć i wykorzystać, a jeśli nie, to po prostu jesteś paranoikiem”. Wolę od tego nie myśleć o chmurze; Kontakty lokalne są rozsądną funkcją (taką, która jest przewidziana w interfejsie API i była ujawniana w programie kontaktów, nie mniej), zastanowić się, co sądzę o Google z listą wszystkich osób, które znam, aby móc zadzwonić Ci ludzie.
gspr


2

Możesz używać Lokalnego kalendarza z repozytorium FOS-a FOS na Androida

Korzystam z niego bez żadnych problemów na telefonie.


Schludny! Czy to też robi kontakty? Nigdzie na stronie nie jest
napisane

1
Nie, ta aplikacja jest przeznaczona tylko do lokalnego kalendarza. Obejściem lokalnych kontaktów w CyanogenMod jest wyłączenie aplikacji „Google Contacts Sync”, a następnie można ponownie dodać kontakty lokalne na urządzeniu. Nie wiem, czy to działa również w innych upodobaniach Androida - po prostu spróbuj :-)
sd2k9

0

Jeśli jesteś zrootowany, użyj Titanium Backup Pro i zatrzymaj „Google Contact Sync”. Będzie czerwony tekst, ale nie przejmuj się tym, i tak zamroz go.

Teraz, jeśli przejdziesz na przykład do WhatsApp i dodasz kontakt, otrzymasz wiadomość o dodaniu konta, kliknij „zachowaj lokalny”. Skończyłeś, utrzymywanie kontaktu lokalnego będzie teraz domyślną opcją.

Aby cofnąć proces z dowolnego powodu, po prostu odtaj aplikację z Titanium Backup Pro.


Zasadniczo to samo, co opisano w tej odpowiedzi , i awaryjne w przypadku, gdy opisana tam procedura nie działa.
Izzy
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.