2013-06-03 7 views
5

Quando l'utente crea un nuovo account nella mia app, creo un nuovo account nel gestore degli account Android. Quindi l'utente può vedere il suo account nelle impostazioni-> account e sincronizzazione ...Rimuovere la mia app dal gestore account Android "aggiungi account"

Quindi domanda: è possibile rimuovere la mia app dall'elenco quando l'utente fa clic su "aggiungi nuovo account" negli account e sincronizza? L'utente non dovrebbe vedere la mia app in questo elenco, ma può comunque creare un account nella mia app.

PS. Non voglio aprire attività quando si fa clic su Aggiungi account, voglio solo non visualizzare il mio punto di app in elenco.

ho nel mio manifesto:

<service 
     android:name="myPackage.authenticator.AuthenticationService" 
     android:exported="false" > 
     <intent-filter> 
      <action android:name="android.accounts.AccountAuthenticator" /> 
     </intent-filter> 

     <meta-data 
      android:name="android.accounts.AccountAuthenticator" 
      android:resource="@xml/authenticator" /> 
    </service> 

E il mio autenticatore:

<?xml version="1.0" encoding="utf-8"?> 
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android" 
android:accountType="myType" 
android:icon="@drawable/ic_launcher" 
android:label="@string/app_name" 
android:smallIcon="@drawable/ic_launcher" /> 

risposta

3

Per quanto ho capito, non si vuole che gli utenti abbiano più account del vostro servizio in un dispositivo. Vedo due opzioni qui:

  1. Gestire se l'utente ha già aggiunto un account. Quando l'utente naviga in Impostazioni> Account> Aggiungi account e scegli il tuo servizio, controllerai se sul dispositivo è presente un account registrato. Se c'è, rifiuta la nuova autenticazione.

  2. Disabilitare "myPackage.authenticator.AuthenticationService" subito dopo che l'utente aggiunge il suo primo account (potrebbe non essere sicuro), in modo che il sistema (app Impostazioni) non sia in grado di individuare il servizio quando esegue l'analisi per i provider di autenticazione.

+0

Thx per la risposta. Ma non riesco a trovare alcun modo per fermare questo servizio. Qualche idea? – Kulibin

+0

Intendi "come disabilitare"? Fare riferimento a ['PackageManager.setComponentEnabledSetting()'] (https://developer.android.com/reference/android/content/pm/PackageManager.html) – ozbek

+0

L'ho controllato. E quello che ho ottenuto: creo un nuovo account e poi disabilito il mio AuthService. Quindi (quando ne ho bisogno) abilito questo servizio e voglio ottenere il mio account salvato. Ma questo account non è disponibile, è stato rimosso quando disabilito il servizio. Quindi non posso disabilitare il mio servizio. E, probabilmente, è impossibile fare ciò che voglio ... In ogni modo, grazie per l'aiuto. – Kulibin