7 votes

Comment ajouter des contacts en utilisant adb sans interaction avec l'utilisateur ?

Suivant ce J'ai trouvé comment ajouter un contact en utilisant adb . La seule chose qui me gêne est que l'utilisateur doit approuver/annuler l'action, car une boîte de dialogue de création de contact apparaît à l'écran. Ce que je veux, c'est que la commande ajoute automatiquement le contact sans attendre l'approbation de l'utilisateur. J'ai déjà parcouru ce mais n'a pas trouvé de solution. Quelqu'un sait-il comment faire ?

0 votes

Votre version d'Android et votre appareil ? Est-il enraciné ?

0 votes

J'ai plusieurs appareils disponibles : Nexus 5, 6.0, rooté ; Samsung Note 10.1 (GT-N8010), 4.4.2, rooté ; Nexus S, 4.1.2, rooté ; Sony Xperia Tipo ST21i, 4.0.4, rooté. Bien que je sois principalement intéressé par l'ajout de contacts sur le Note, le Nexus S et le Sony Xperia Tipo ST21i, 4.0.4, rooté.

4voto

rascalking Points 1422

Pour votre appareil Android 4.4.2, la commande pour ajouter un contact est la suivante (remplacez Bo Lawson et #123 par ce que vous voulez) :

adb shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name 'Bo Lawson' -e phone 123456789

Maintenant, il faut l'enregistrer. C'est spécifique à Android 4.4.2. Appuyer sur la touche retour permet de l'enregistrer. Pour cela, vous devez utiliser les événements de touche. Avec Android 4.4.2 c'est l'événement clé 4. Vous allez devoir le faire au moins deux fois. Une fois pour quitter le clavier, l'autre pour quitter et sauvegarder. Si nécessaire, utilisez-le à nouveau pour quitter complètement l'application Contacts.

adb shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name 'Bo Lawson' -e phone 123456789
adb shell input keyevent 4
adb shell input keyevent 4

Cela a fonctionné sur mon Samsung Galaxy Tab Pro enraciné fonctionnant sous Android 4.4.2.

Edit : J'ai trouvé un post sur Stack Overflow qui références cette commande.

0 votes

Joli contournement ! Cela fonctionne vraiment !

0 votes

En fait, cela a également fonctionné pour les autres appareils. Dommage que je n'aie pas trouvé l'article que vous avez mentionné... Savez-vous s'il existe une liste de toutes les entrées ou de tous les événements clés ?

0 votes

Pour la version actuelle d'Android et, si elle est inchangée, pour les versions antérieures. Le site des développeurs de Google vous donnera beaucoup d'informations. developer.Android.com/reference/Android/view/KeyEvent.html Pour tout ce qui concerne la tâche fastidieuse de la lecture du code source. Simplification de la recherche de panne SO, AE, blogs et articles individuels. stackoverflow.com/questions/7789826/adb-shell-input-events

1voto

Giuseppe Points 101

Je pense qu'il n'y a pas de moyen direct de le faire. Je vous recommande de créer une application simple pour insérer un contact ou une liste de contacts et de l'utiliser avec adb. Vous pouvez trouver un exemple ici http://www.codeproject.com/Articles/578823/Android-Contact-Operations-Insert-Search-Delete

1 votes

Cela peut sembler déplacé, mais vous pouvez envisager de ne pas répondre à la question si vous pensez que quelque chose ne peut pas être fait, à moins que vous n'expliquiez techniquement et en détail la raison de cette impossibilité. Etant donné que ce site est destiné aux utilisateurs finaux d'Android (lire : nous ne nous attendons pas à ce que les utilisateurs aient des connaissances en programmation d'application), la recommandation que vous avez faite ne sera pas jugée utile pour eux :)

0 votes

Merci pour la suggestion, mais je ne voulais pas utiliser une application pour cela.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X