Wie programmgesteuert ein benutzerdefiniertes Konto in Android hinzufügen?
Ich versuche, ein Konto zu erstellen für meine app, wo ich in der Lage meine Kontakte mit meinem account wie facebook, viber, whatsapp, etc. Ich möchte mein Konto sichtbar sein in den Konto-Bereich der Einstellungen auch. Irgendwelche Ideen? Ich habe gegoogelt, eine Menge, aber nicht finden konnten eine richtige Antwort, wo zu beginnen. Bitte helfen Sie.
Ich habe versucht, ein Konto zu erstellen ist als unten. Das führt mich zu einer Fehlermeldung.
Account account = new Account("Title", "com.package.nom");
String password = "password";
AccountManager accountManager =
(AccountManager) MainPanel.this.getSystemService(
ACCOUNT_SERVICE);
accountManager.addAccountExplicitly(account, password, null);
InformationsquelleAutor der Frage user3673503 | 2014-06-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie, um das setup mehrere Komponenten, die in der Lage sein, um ein Konto zu erstellen programmgesteuert. Sie brauchen:
Der authenticator
Den authenticator ist ein Objekt, welches die Zuordnung zwischen den Konto-Typ und die autority (d.h. die linux-user), die Rechte zu verwalten.
Deklarieren Sie einen authenticator erfolgt in xml :
res/xml/authenticator.xml
mit folgendem Inhalt :
Hinweis: die accountType : es muss wiederverwendet werden-code, wenn Sie das Konto erstellen.
Die Symbole und die Beschriftung werden von der "Einstellungen" app zum anzeigen der Konten dieses Typs.
Umsetzung der AccountAuthenticator
Müssen Sie erstreckt sich
AbstractAccountAuthenticator
zu tun. Dies wird sein Einsatz durch third-party-app für den Zugriff auf Konto-Daten.Das folgende Beispiel ist nicht zulässig, den Zugang zu 3rd-party-app und so die Umsetzung der einzelnen Methoden ist trivial.
Den Dienst auszusetzen der Account-Typ
Erstellen Sie einen Dienst zum Bearbeiten der Konten, Art :
Erklären den service in Ihrem manifest :
Hier, der filter und die meta-Daten über die xml-Ressource deklarieren der authenticator sind die wichtigsten Punkte.
Die Berechtigungen
In Ihrer manifest-sicher sein, zu erklären, dass die folgenden Berechtigungen
(nicht alle erforderlich für die sample-code in diesem post, aber man wird ja wohl noch etwas mehr code über account management und am Ende werden alle von Ihnen nützlich sein wird)
Erstellen Sie ein Konto in code
Dass jetzt alles bereit ist, erstellen Sie ein Konto mit den folgenden code. Hinweis: die
boolean
zurückgegebenaddAccountExplicitly
informieren Sie über den Erfolg oder Misserfolg.Letzte Tipps
Nicht installieren die app auf externen Speicher
Wenn Ihre app wird installiert auf externen Speicher, gibt es eine gute chance, dass Android Ihr Konto löschen die Daten, wenn SD-Karte wird ausgehängt (da der authentifikator für das Konto nicht mehr zugänglich). Also um dies zu vermeiden Verlust (bei jedem Neustart !!!) Sie müssen installieren Sie die App erklärt den authenticator auf internen Speicher nur :
Im Falle von Schwierigkeiten
Lesen Sie die Protokolle sorgfältig, Den AccountManger ist bestens viele Protokolle, um zu helfen, die Sie zum Debuggen des Codes.
InformationsquelleAutor der Antwort ben75
hier ein code snipped, ich mache es ( sorry für die Deutsche commetns )
vergessen Sie nicht die richtigen Berechtigungen in der manifest-Datei.
ich hoffe, das hilft ein wenig.
InformationsquelleAutor der Antwort
Habe ich geschrieben Bibliothekdie bekommt man frei zu tun, die Hausarbeit benötigt für die Verwaltung von android-Konten, wie die Definition einer gebundenen service, authenticator, xml, etc. Die Arbeit ist in 5 einfachen Schritten:
Schritt 1
Fügen Sie diese, um Abhängigkeiten aufzubauen.gradle der app:
Schritt 2
Definieren Sie Ihre Authentifizierung, Konto-Typ als string in
strings.xml
:Ersetzen 'DigiGene' mit Ihrem eigenen Konto geben. Dies ist, was wird angezeigt in Android Konten in dieser screenshot.
Schritt 3
Design Ihrer Registrierung layout für die Registrierung der Benutzer (z.B. dieses Bild):
machen und eine neue Klasse, sagen
MyRegistrationActivity.java
mit dem folgenden code:Schritt 4
Machen einen Eintrag layout wie in hier:
Diesem layout geht mit der folgenden Klasse:
Schritt 5
Dies ist der Letzte Schritt, in dem die Methoden zum herstellen einer Verbindung mit dem server für die Registrierung und Anmeldung Zwecke und nach implementiert werden. In den folgenden, im Gegensatz zu einem realen Fall, server-verbindungen werden verspottet, nur um zu zeigen, das die Funktionalität der Bibliothek. Ersetzen Sie eventuell die folgende Umsetzung mit Ihren eigenen realen.
Ergebnisse
Die folgende Abbildung zeigt die Bibliothek in Aktion.
Finden Sie das komplette tutorial hier und darüber, wie
AccountManager
in android funktioniert in diesen drei posts von meiner website:Teil 1, Teil 2, Teil 3.InformationsquelleAutor der Antwort Ali Nem