Aller au contenu

Recommended Posts

Posté(e)

Bonjour à tous,

Je voudrais savoir s'il est possible (et si oui comment) de récupérer à travers mon application l'adresse e-mail spécifiée par l'utilisateur lors de sa connexion à l'Android Market (forcément spécifié pour télécharger une quelconque application) ?

Pas besoin de son password, juste l'adresse e-mail enregistré dans GoogleApps !

Je sais qu'il est possible de récupérer cela avec AccountManager, le seul souci étant que ce n'est utilisable qu'à partir de l'API Level 5, or mon application doit être compatible à partir du level 3 !

Merci d'avance pour vos réponses :)

Posté(e)

Cela peut-être intéressant, car sur mes licenses, je me base sur le numéro IMEI. Une adresse gmail cryptée serait le pied pour ce genre de manip alors!

Mais par contre, c'ets pas interdit de le récupérer ou quid de la vie privée? Il y a rien dans les conditions d'utilisation qui empêche de le récupérer?

Posté(e)

profete a pas tords, je m en sers pour compter les mails non lus,donc j'aurais pas de pb....mais d autres utilisation sont possibles et surement pas super autorisées (par contre il y a une grosse permission gmail)

bon par contre j ai regardé mon code j'ai recodé un AccountMonitor en intégrant celui des sources d'android 1.5.

Et ça demande des permissions cachées spécial gmail....et les .aidl du framework.

En gros c'est pas quelques lignes de codes qui tournent toutes seules.

Le mieux serait que je fasse un apk de test avec le source sur Google code.

je tente dans la soirée.

Posté(e) (modifié)

http://www.taskiller.com/img/gmaildetect.zip

un programme test qui affiche votre adresse gmail.

il faut un dossier android.... avec l idl de l accountprovider

et deux fichier en plus dans votre appli (reconnaissables à leur en tete apache :p )

en gros vous balancez un new accountMonitor...il vous rebalance le compte dans une String statique.

Après à vous de modifier le fichier vers la ligne 92 pour faire ça à votre sauce..

Attention aux deux permissions du manifest :)

En théoprie il gere le multi account (vu que c'est un tableau qui est renvoyé...)

Ils avaient prévu le terrain sur android 1.5 déjà :)

enjoy !

PS : la récupération est asynchrone. Donc faites gaffes aux threads dans votre appli

Modifié par popolbx
Posté(e)

Merci popolbx pour ton aide !

Cependant lorsque je lance mon application, mon AlertDialog où j'ai placé comme texte mGoogleAccount ne s'affiche plus du tout bizarrement, et encore mieux lorsque je quitte l'application, DDMS me sort un pavé entier d'erreurs, dont la principale est :

Activity com.test.testing.truc has leaked IntentReceiver com.test.testing.AccountMonitor@431e76a8 that was originally registered here. Are you missing a call to unregisterReceiver() ?

Cela plante donc à la ligne 122 de la classe AccountMonitor, et donc aussi lors de mon AccountMonitor mon = new AccountMonitor(this); dans mon appli...

Des idées ?

Posté(e) (modifié)

Comme il y a la possibilité de conserver l'IntentReceiver il faut implémenter unregisterReceiver pour s'en débarasser.

l'Activity truc a été détruite mais l'instance d'AccountMonitor est resté en mémoire sans être référencée nulle part d'où le Warning.

C'est p-e un pb de compliance avec ton niveau d'API aussi...

Modifié par Igosuki
Posté(e)

Même si, lors de la sortie de mon application, j'ai toujours l'erreur que j'ai signalé plus haut, ça marche à merveille popolbx !!

Je pense que cette aide va être utile à beaucoup d'autres développeurs, surtout que cela fonctionne à partir de l'API Level 3 !

Posté(e) (modifié)

merci popolbx !

ca marche tres bien sur mon Dream en 1.5.

Par contre, sur Milestone (2.1) & Hero (2.1), ca donne une belle exception :

04-30 09:09:08.467: WARN/Resources(10299): Converting to string: TypedValue{t=0x12/d=0x0 a=3 r=0x7f050000}

04-30 09:09:08.577: WARN/Parcel(4806): **** enforceInterface() expected 'com.google.android.googleapps.IGoogleLoginService' but read 'android.accounts.IAccountsService'

04-30 09:09:08.577: WARN/dalvikvm(10299): threadid=15: thread exiting with uncaught exception (group=0x4001e390)

04-30 09:09:08.587: ERROR/AndroidRuntime(10299): Uncaught handler: thread Thread-8 exiting due to uncaught exception

04-30 09:09:08.657: ERROR/AndroidRuntime(10299): java.lang.SecurityException: Binder invocation to an incorrect interface

04-30 09:09:08.657: ERROR/AndroidRuntime(10299): at android.os.Parcel.readException(Parcel.java:1218)

04-30 09:09:08.657: ERROR/AndroidRuntime(10299): at android.os.Parcel.readException(Parcel.java:1206)

04-30 09:09:08.657: ERROR/AndroidRuntime(10299): at android.accounts.IAccountsService$Stub$Proxy.getAccounts(IAccountsService.java:110)

04-30 09:09:08.657: ERROR/AndroidRuntime(10299): at com.popolbx.gmd.AccountMonitor$AccountUpdater.run(AccountMonitor.java:72)

Rien de tres grave puisqu'en >= 2.0, on peut utiliser l'accountManager, mais il est clair qu'il faut tester le niveau d'API avant d'appeler ce code.

Modifié par Koxx
Posté(e)

Pourriez-vous me rappeler comment on récupère la version du firmware android sur un device ?

Cela fait depuis 30minutes que je cherche sur Google, sans résultat...

Posté(e) (modifié)
android.os.xxxx

if(Build.VERSION.RELEASE.substring(0, 1).equals("1")) {

// just do it with API Level 1, 2, 3 and 4

}

else {

// just do it with API Level 5+

}

Merci à popolbx encore une fois :)

Modifié par djdamage
  • 1 year later...
Posté(e)

Bonjour

Je cherche à récupérer l'adresse mail du compte google associé au téléphone sans succès.

Auriez-vous un bout de code à poster ?

Sachant que c'est pour l'API 1.5 et supérieur.

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...