2013-10-24 10 views
24

Utworzono adapter synchronizacji z fałszywym kontem i nie chcę, aby był wyświetlany na liście kont w aplikacji Ustawienia ani gdy użytkownik naciśnie przycisk dodawania konta w Ustawieniach . Próbowałem android: userVisible = "false" w mojej definicji adaptera synchronizacji, ale wciąż pojawia się konto. Próbowałem tego na emulatorze i 3 urządzeniach fizycznych. Wszystko działa poprawnie w kategoriach, że synchronizuje wszystkie potrzebne dane, jedyną wadą jest to, że widzę Konto na liście, a ja nie chcę.Ukryj fałszywe konto adaptera synchronizacji z poziomu ustawień

Moja authenticator.xml jest:

<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android" 
        android:accountType="net.astagor.android.hhp.account" 
        android:icon="@drawable/ic_launcher" 
        android:smallIcon="@drawable/ic_launcher" 
        android:label="@string/app_name" 
    /> 

Moja syncadapter.xml jest:

<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android" 
      android:contentAuthority="net.astagor.android.hhp" 
      android:accountType="net.astagor.android.hhp.account" 
      android:userVisible="false" 
      android:supportsUploading="true" 
      android:allowParallelSyncs="false" 
      android:isAlwaysSyncable="true" 
    /> 

I dodać mój złączami pośrednimi tak:

Account account = AuthenticatorService.GetAccount(); 

AccountManager accountManager = (AccountManager) context 
    .getSystemService(Context.ACCOUNT_SERVICE); 

if (accountManager.addAccountExplicitly(account, null, null)) { 

ContentResolver.setIsSyncable(account, StubProvider.AUTHORITY, 1); 

ContentResolver.setSyncAutomatically(account, 
     StubProvider.AUTHORITY, true); 

ContentResolver.addPeriodicSync(account, StubProvider.AUTHORITY, 
     new Bundle(), SYNC_FREQUENCY); 
} 

I otrzymuję konto na liście kont i na liście kont dodawania.

Pomoc, proszę! :)

+0

Jestem bardzo zainteresowany odpowiedzią na to pytanie (jeśli jest lepszy sposób) –

+0

Ten sam problem tutaj. Zrobiłeś wszystko, od dokumentów podobnych do ciebie - nie chcesz, aby fikcyjny kurs był widoczny, ale po prostu zawsze się wyświetla! :-(Co tu jest uszkodzone? – Zordid

Odpowiedz

3

To nie jest prawdziwa odpowiedź, ale jeśli usuniesz etykietę z pliku authenticator.xml, nie pojawi się ona na liście dodanych kont, ale po kliknięciu ikona jest tam bez etykiety Dodaj konto. Brzydki i prawdopodobnie nie jest to dobry pomysł. (ta metoda ukrywa konto przynajmniej na moim nexusie 4 z wersji 4.4 - nie sprawdziłem jeszcze innych urządzeń).

Uważam, że flaga widocznej flagi zsynchronizowana ma wpływ tylko na wyświetlanie części synchronizacji po wybraniu konta, gdzie można zobaczyć ostatni czas synchronizacji, ustawić ustawienia automatycznej synchronizacji i wyzwalać synchronizację.

Chciałbym to wiedzieć. Musi to być możliwe, ponieważ nie widzę na liście moich kont zaśmieconych kont. Czy istnieje sposób, czy prawie żadna z moich zainstalowanych aplikacji nie radzi sobie z kartami synchronizacji?

4

Znalazłem rozwiązanie. ten sposób authenticator.xml powinna wyglądać następująco:

<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android" 
        android:accountType="net.astagor.android.hhp.account" 

    /> 

Nie musi mieć te linie:

   android:icon="@drawable/ic_launcher" 
       android:smallIcon="@drawable/ic_launcher" 
       android:label="@string/app_name" 

Jeśli je umieścić, konto będzie widoczne wszędzie tam, gdzie można ustawić android: userVisible =” false "lub nie.

+4

Ciągle dostajesz pusty wiersz na liście dostępnych kont. Jeśli przejdziesz do Ustawienia> Dodaj konto, To jest teraz dla mnie pusty wiersz: Otrzymujesz także ostrzeżenia wydrukowane w log przez aplikację ustawień wraz z nazwą pakietu, który nie jest idealny: 2671-2671 /? W/ChooseAccountActivity: Brak zasobów etykiet dla konta typ my.package.name.account 2671-2671 /? W/ChooseAccountActivity: Brak zasobu ikon dla konta typ my.package.name.account 2671-2671 /? W/AuthenticatorHelper: Brak ikony etykiety dla konta typ my.package.name.account – Jason

+0

Prawda, na liście Dodaj konto jest pusta pozycja. Więc w jaki sposób ludzie używają fałszywych kont lub w ogóle nie używają adapterów synchronizacji? – Astagor

Powiązane problemy