Keine Aktivität gefunden Intent zu handhaben {act = android.accounts.AccountAuthenticator} obwohl ich eine haben

StackOverflow https://stackoverflow.com/questions/3133887

  •  01-10-2019
  •  | 
  •  

Frage

Ich versuche, meine Anwendung haben die Anmeldungs ??Aktivität angezeigt wird, wenn ein Benutzer „Konto hinzufügen“ in „Konten & Synchronisierung“ oder will die Anwendung verwenden und ist noch nicht angemeldet. Ich habe das Beispiel gefolgt SampleSyncAdapter ziemlich eng, aber nicht kann bekommen sie zur Arbeit und erhalten die folgende Ausnahme statt:

No Activity found to handle Intent { act=android.accounts.AccountAuthenticator }

Mein Auth Service enthält:

public IBinder onBind(Intent intent) {
    IBinder ret = null;
    if (intent.getAction().equals(android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT)){
        ret = getAuthenticator().getIBinder();
    }
    return ret;
}

Meine AndroidManifest.xml:

<service android:name=".auth.MyAuthService"
         android:exported="true" 
         android:process=":auth">
    <intent-filter>
        <action android:name="android.accounts.AccountAuthenticator" />
    </intent-filter>

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

Meine Haupttätigkeit:

startActivity(new Intent(android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT));

Ich habe beide versucht zu tun:

Intent svc = new Intent(this, CreazaAuthService.class);
startService(svc);

und

bindService(new Intent(android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT), null, BIND_AUTO_CREATE);

vor dem startActivity() Ruf, aber es kann immer noch keine Aktivität für diese Absicht finden. Wenn ich versuche, ein Konto über Konten & Synchronisierung meiner Anwendung abstürzt mit dem gleichen ActivityNotFoundException hinzuzufügen.

Was mache ich falsch?

Bearbeiten
Ich habe c99 der last.fm App, untersucht, die eine benutzerdefinierte Aktion definiert und verwendet Absichten auf der Grundlage dieser Aktion statt android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT. Ist das ein besserer Ansatz? Gibt es eine Möglichkeit, es funktioniert mit Konten und Synchronisierung zu machen?

War es hilfreich?

Lösung

Ihre Absicht Filter put <category android:name="android.intent.category.DEFAULT" />

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top