Pour prendre en charge mon oreillette Bluetooth, je souhaitais activer le Bluetooth lorsque je me trouvais dans l'application Contacts OU lors d'un appel. Je pourrais le faire uniquement pendant un appel, mais je ne pourrais alors pas m'assurer que mon casque est connecté avant que l'autre partie ne décroche.
Aucune des solutions déjà postées ne fonctionnerait. Le fait de définir %BluetoothNeeded on lorsque vous êtes dans les Contacts ou en appel signifie que lorsqu'un appel commence, %BlueToothNeeded on est activé, mais que lorsque les Contacts deviennent un arrière-plan et que vous êtes en appel, %BlueToothNeeded off est désactivé et bluetooth s'éteint. En utilisant l'opération inverse, désactiver bluetooth quand il n'est PAS dans Contacts ET PAS en appel mais activer bluetooth comme tâche de sortie fonctionne presque, mais apparemment Tasker remarque la brève période où Contacts perd le statut de premier plan et l'appel n'a pas encore commencé et désactive bluetooth.
Voici donc ce qui a fonctionné pour moi, en se basant sur ce blog :
- Créez une tâche appelée
Dummy
avec une action de Tasks > Wait > 1ms
- Créez un profil appelé
stateInCall
avec une condition de State > Phone > Call > Type: Any
. Reliez-le à la Dummy
tâche.
- Créez un profil appelé
stateInContacts
avec une condition de State > Application > Contacts
. Reliez-le à la Dummy
tâche.
- Créez un profil appelé
Bluetooth Needed
avec une condition de State > Variable > Variable Value
. Définir le nom sur %PACTIVE
, Op to Matches
et Valeur à *,stateInCall,*|*,stateInContacts,*
. Selon la documentation de Tasker, %PACTIVE contient une liste de profils actifs séparés par des virgules. La liste commence et se termine également par une virgule pour faciliter la correspondance. Liez ce profil à une tâche appelée Bluetooth On
qui active le bluetooth en utilisant le Net > Bluetooth > Set: On
Action.
- Créez une tâche appelée
Conditional Bluetooth Off
avec les actions suivantes :
- Tâche > Attendre > 10 secondes
- Tâche > Si >
%PACTIVE
ne correspond pas *,stateInCall,*|*,stateInContacts,*
- Net > Bluetooth > Set : Off
- Task > End If
- Appuyez longuement sur le
Bluetooth Needed
Profil puis choisissez Properties
. Décochez Restore Settings
.
- Appuyez rapidement sur le
Bluetooth Needed
Profil jusqu'à la Bluetooth On
La tâche apparaît en dessous, dans la colonne de droite. Appui long Bluetooth On
et choisissez Add Exit Task
alors choisissez Conditional Bluetooth Off
.
Conditional Bluetooth Off
attendra 10 secondes avant de vérifier une nouvelle fois que ni stateInCall
ni stateInContacts
sont vraies, auquel cas le bluetooth sera désactivé. Sinon, il laisse le bluetooth activé et lorsque les deux conditions suivantes sont remplies stateInCall
y stateInContacts
sortie plus tard, il fera son attente de 10 secondes et vérifiera à nouveau.