Comment ajouter par programmation d'un compte personnalisé sur android?
Je suis en train de créer un compte pour mon application, où je vais pouvoir avoir mes contacts à l'encontre de mon compte comme facebook, viber, whatsapp, etc. Je veux que mon compte soit visible dans la section compte des paramètres aussi. Des idées? J'ai googlé un lot, mais ne pouvais pas trouver une réponse juste par où commencer. S'il vous plaît aider.
Ce que j'ai essayé de créer un compte ci-dessous. Ce qui m'amène à une erreur.
Account account = new Account("Title", "com.package.nom");
String password = "password";
AccountManager accountManager =
(AccountManager) MainPanel.this.getSystemService(
ACCOUNT_SERVICE);
accountManager.addAccountExplicitly(account, password, null);
- Est-il une programmation à la question ici? Il semble que cela est une façon d'utiliser android question.
- Je veux faire la même chose par programmation. Ce que j'ai essayé est mentionné ci-dessus. Merci
- Il y a aussi une bibliothèque pour la gestion de compte en android here.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour l'installation de plusieurs composants pour pouvoir créer un compte par programmation. Vous avez besoin de:
L'authentificateur
L'authentificateur est un objet qui va faire la correspondance entre le type de compte et de l'autorité (c'est à dire le linux-utilisateur) qui ont des droits à gérer.
Déclarant un authentificateur est fait en xml :
res/xml/authenticator.xml
avec le contenu suivant :
Note le accountType : il doit être réutilisés dans le code lorsque vous créez le Compte.
Les icônes et l'étiquette sera utilisé par le "Paramètres" application pour afficher les comptes de ce type.
La mise en œuvre de la AccountAuthenticator
Vous devez s'étend
AbstractAccountAuthenticator
de le faire. Ce sera l'utilisation par des tiers app pour accéder à des données de Compte.L'exemple suivant n'autorise pas l'accès à la 3e partie de l'app et donc la mise en œuvre de chaque méthode est trivial.
Le Service d'exposer le Type de Compte
Créer un Service de manipuler les Comptes de ce type :
Déclarer le service dans votre manifeste :
Ici, le filtre et les méta-données relatives à la ressource xml déclarant l'authentificateur sont les points clés.
Les autorisations
Dans votre manifeste, assurez-vous de déclarer les autorisations suivantes
(pas tous nécessaires pour l'exemple de code présenté dans ce post, mais vous aurez probablement avoir un peu plus de code sur la gestion du compte et à la fin, ils seront tous utiles)
Créer un compte dans le code
Maintenant que tout est prêt, vous créer un compte avec le code suivant. Remarque le
boolean
retourné paraddAccountExplicitly
vous informant de la réussite ou de l'échec.Derniers conseils
Ne pas installer votre application sur un stockage externe
Si votre application est installée sur le stockage externe, il y a de bonnes chances que Android supprimer les données de votre Compte lors de la sdcard est démonté (depuis l'authentificateur pour que ce compte ne plus être accessible). Donc, pour éviter cette perte (à chaque redémarrage !!!) vous devez installer l'Application déclarant l'authentificateur sur le stockage interne seulement :
En cas de problème
Lire les journaux soigneusement, Les AccountManger est outputing de nombreux journaux pour vous aider à déboguer votre code.
android:label="@string/my_custom_account"
J'ai écrit un bibliothèque pour ce, vous permet de vous libres de faire des tâches ménagères nécessaires à la gestion android comptes, tels que la définition d'une limite de service, l'authentificateur, xml, etc. Qui est en 5 étapes simples:
Étape 1
Ajoutez à cela les dépendances pour les construire.gradle de l'application:
Étape 2
Définir votre authentification type de compte comme une chaîne de caractères dans
strings.xml
:Remplacer "DigiGene" avec votre propre type de compte. C'est ce qui apparaît dans Android Comptes dans cette capture d'écran.
Étape 3
De la conception de votre mise en page d'inscription pour l'enregistrement des utilisateurs (par exemple,cette image):
et de faire une nouvelle classe, dire
MyRegistrationActivity.java
, avec le code suivant:Étape 4
Faire une entrée de mise en page comme dans ici:
Cette disposition va de pair avec la classe suivante:
Étape 5
C'est la dernière étape dans laquelle les méthodes nécessaires pour se connecter au serveur pour l'enregistrement et le signe-dans des buts et après qui sont mis en œuvre. Dans la suite, contrairement à un cas réel, les connexions au serveur sont moqués, juste pour démontrer la fonctionnalité de la bibliothèque. Vous pouvez remplacer l'implémentation suivante avec votre propre réel.
Résultats
La figure suivante montre la bibliothèque dans l'action.
Vous pouvez trouver le tutoriel complet ici et sur la façon
AccountManager
dans android fonctionne dans ces trois messages à partir de mon site web:partie 1, partie 2, partie 3.ici un code ciselée, je le fais ( désolé pour l'allemand commetns )
n'oubliez pas de mettre le propper autorisations dans le fichier manifeste.
j'espère que cela aide un peu.