J'ai fait cela en utilisant Tasker. Tu es complètement sur la bonne voie, instructions ci-dessous.
SQL pour trouver l'ID du contact
Trouver l'ID du contact unique à partir de la base de données des contacts (il semble que vous l'ayez déjà fait). Au cas où vous auriez le mauvais ID, vous pouvez vérifier avec les instructions SQL. J'ai eu quelques problèmes avec cela car je n'entrais que le prénom lors de la recherche du contact, et pour une raison quelconque, il n'était pas trouvé. Quoi qu'il en soit, cette requête SQL devrait fonctionner sur le fichier : /data/data/com.android.providers.contacts/databases/contacts2.db
Vous pouvez utiliser une application/programme SQL, accéder à ce fichier, et entrer la requête SQL :
SELECT _id FROM data WHERE raw_contact_id LIKE (SELECT _id from raw_contacts WHERE display_name LIKE "Nom du contact" ORDER BY _id DESC LIMIT 1) AND DATA4 LIKE "10" ORDER BY _id DESC LIMIT 1
Ou vous pouvez entrer cette commande dans le terminal, à condition d'avoir sqlite3 sur votre appareil spécifique (souvent non inclus dans les appareils en production) :
sqlite3 /data/data/com.android.providers.contacts/databases/contacts2.db 'SELECT _id FROM data WHERE raw_contact_id LIKE (SELECT _id from raw_contacts WHERE display_name LIKE "Nom du contact" ORDER BY _id DESC LIMIT 1) AND DATA4 LIKE "10" ORDER BY _id DESC LIMIT 1' | sed s/\"//g
Remplacez simplement "Nom du contact" et mettez le contact que vous souhaitez ouvrir entre guillemets. De préférence, le nom complet du contact.
Téléphone non rooté
Je travaillais sur une solution pour cela, mais la sauvegarde d'application est explicitement désactivée dans le manifeste de l'application de contacts. Essayez la solution ci-dessous et faites-moi savoir si cela fonctionne. Je n'ai pas pu le tester sans root.
Installez Tasker et AutoContacts. AutoContacts est payant, mais vous pouvez obtenir une dans les 15 minutes suivant l'achat de la version complète si vous voulez juste le tester.
Configurez une tâche dans Tasker, nommez-la, puis ajoutez une nouvelle action Plugin > AutoContacts > AutoContacts. Ensuite, dans la configuration, saisissez "Nom du contact ou surnom" le nom du contact souhaité. Appuyez sur la coche. Appuyez sur le bouton de retour dans Tasker pour revenir à la liste des actions de cette tâche (vous en aurez maintenant 1). Ajoutez une nouvelle action Alert > Flash. Appuyez sur le bouton à droite de "texte" qui ressemble à une étiquette et sélectionnez "Autocontacts: 01. Hangout Uri ... %achangouturi". Appuyez sur retour pour aller à la liste des actions. Appuyez à nouveau sur retour pour enregistrer la tâche. Revenez dans la tâche et exécutez-la. L'ID dont vous avez besoin pour le contact que vous voulez sera à la fin de la chaîne qui s'affiche et sera généralement composé de 5 chiffres. Exécutez à nouveau la tâche si vous ne l'avez pas capturé à temps.
Création de tâche Tasker
Une fois l'ID noté, vous devez aller dans Tasker pour créer la tâche qui ouvrira Hangouts à la conversation. Vous avez la bonne idée d'utiliser un intent, c'est juste un peu différent de ce que vous avez déjà. Dans la nouvelle tâche, créez une nouvelle action "+" sélectionnez Système > Envoyer Intent. Créez l'intent dans le format suivant :
Action : android.intent.action.VIEW
Cat : Aucun
Type MIME : Laissez vide
Données : content://com.android.contacts/data/#####
Extras/package/class : Laissez vide
Cible : Activité
Où ##### est l'ID de contact que vous avez trouvé précédemment. Les miens étaient tous composés de 5 chiffres.
Maintenant, vous devriez pouvoir utiliser cette tâche pour ce que vous voulez. Testez-la en appuyant sur le bouton de lecture dans la tâche dans Tasker. Un petit conseil, j'utilise principalement le mien en conjonction avec AutoVoice pour ouvrir un message que je viens de recevoir. J'ai trouvé très utile de pouvoir lancer Hangouts vers l'écran principal et j'ai trouvé cela assez difficile car le "kill app" de Tasker ne redémarré pas complètement Hangouts. J'ai trouvé la manière de le faire est de créer une action "Lancer l'application" et de sélectionner la case à cocher "Toujours lancer une nouvelle copie". Cela ouvrira toujours Hangouts à la liste des fils principaux.
La plupart de ceci provient de cette discussion du groupe Google. Bonne chance, faites-moi savoir si vous rencontrez des problèmes.
1 votes
Je ne pense pas qu'un kit préfabriqué de cette nature existe.
0 votes
Si la conversation reste toujours à une position particulière, vous pouvez avoir du succès en utilisant AutoInput
0 votes
Si quelqu'un explique comment utiliser l'application Automate pour faire ce que j'ai décrit, je marquerai cela comme répondue.
0 votes
Je dois également dire que Touchless Chat pourrait résoudre le problème, mais il n'est pas compatible avec mon appareil.
0 votes
@Firelord Autoinput n'est pas pris en charge sur mon appareil.
0 votes
AutoInput n'est pas pris en charge? Utilisez-vous un appareil Android inférieur à 4.3? De plus, votre appareil est-il rooté, car dans ce cas, vous pouvez simplement utiliser une commande shell pour passer le drapeau.
0 votes
Donnant qu'il a écrit qu'il a utilisé le code, il est très probable qu'il ait utilisé une fonction Java. Voici un exemple : groups.google.com/forum/#!topic/tasker/lqlCpcLf-J4 et vous pouvez ajouter des fonctions Java aux tâches en utilisant Code -> Fonction Java.
0 votes
Le périphérique n'est pas rooté, et je ne peux pas mettre à jour au-delà de 4.3 car cela va casser la 4G. Asus n'a pas encore poussé de correctif et ne le fera probablement jamais.
0 votes
Si une solution est proposée en utilisant MacroDroid, seriez-vous intéressé ? Je demande car je pourrais essayer.
0 votes
@beeshyams Oui.