Menggunakan logika OR dalam konteks untuk Tasker


23

Katakanlah saya ingin membuat konteks di mana SSID koneksi WiFi adalah 'ABC' atau 'XYZ'.

Saya dapat melihat di mana saya dapat membuat 2 konteks, tetapi tampaknya untuk menegakkan DAN logika di antara keduanya, jadi dengan kata lain saya harus dekat dengan 'ABC' dan 'XYZ'.

Bagaimana membuat konteksnya menjadi baik, bukan keduanya?

Jawaban:



20

Atau mungkin Anda dapat menggunakan kondisi "Terbalik" untuk melakukan tugas yang berlawanan ?, misalnya

Jika Anda ingin menjalankan tugas ketika WiFi terhubung ATAU ketika profil: A tidak aktif, Anda dapat mengatur konteks untuk "WiFi terputus" DAN "Profil: A aktif" baik dengan "inverted" kotak centang yang dipilih, dan setup tugas yang melakukan yang sebaliknya, jika itu mungkin.

Ini pada dasarnya bekerja karena:

(A OR B) = NOT((NOT A) AND (NOT B))


3
Jawaban ini bagus karena lebih umum. Artinya, ia bekerja dengan tipe konteks selain "Wifi Terhubung". Sebagai contoh, saya ingin membuat profil untuk meletakkan ponsel saya dalam mode senyap setiap kali itu merapat atau terhubung ke arloji Pebble saya. Cara termudah untuk melakukan ini adalah membuat profil "tidak terhubung ke Pebble dan tidak berlabuh" yang menonaktifkan mode diam saat masuk, dan memungkinkan mode diam saat keluar. Hukum DeMorgan FTW.
Laurence Gonsalves

4

Anda dapat membuat tindakan Anda bergantung pada variabel "% condition = true" dan kemudian membuat dua profil berbeda:

  • profil a: atur kondisi ke "true"
  • profil b: atur kondisi ke "true"

profil Anda: jika variabel "kondisi" = benar maka ... dan tugas keluar Anda hilang

Tapi alangkah baiknya jika penulis akan meningkatkan tasker untuk itu ... :)


2
Metode ini menyebabkan masalah ketika kondisi dapat disetel benar atau salah oleh profil a dan b sekaligus. Misalnya, saya ingin mengaktifkan bluetooth saat dalam panggilan atau di aplikasi Kontak. Saya mengatur% BluetoothNeeded = 1 dalam kedua kasus dan menghapus kapan kedua kasus keluar. Saat saya sedang melakukan panggilan, aplikasi Kontak menjadi latar belakang dan biasanya ditangguhkan untuk menghemat memori, yang menghapus% Bluetooth Diperlukan sehingga bluetooth dimatikan, memotong headset bluetooth saya selama panggilan.
Chris Dragon

4

hanya memposting solusi saya untuk masalah ini jika ada yang datang ke sini:

buat profil untuk setiap kondisi dalam atau pernyataan pada masukkan% Alasan + = 1 saat keluar% Alasan - = 1

buat profil dengan syarat% Alasan> 0 dan tugas masuk dan keluar yang diperlukan

tepuk tangan!


2

Anda perlu membuat satu profil untuk setiap konteks dan memasangkannya ke tindakan satu per satu.


3
Hm, ini berarti saya tidak akan benar-benar dapat memiliki tugas keluar?
Zombies

2

Untuk mendukung headset bluetooth saya, keinginan saya adalah untuk mengaktifkan bluetooth ketika saya berada di aplikasi Kontak ATAU dalam panggilan. Saya bisa melakukannya hanya saat dalam panggilan tetapi saya tidak bisa memastikan headset saya terhubung sebelum pihak lain mengangkatnya.

Tidak ada solusi yang sudah diposting yang akan berfungsi. Mengatur% BluetoothNeeded on ketika di Kontak atau dalam panggilan berarti bahwa ketika panggilan dimulai, itu mengatur% BlueToothNeeded tetapi kemudian ketika Kontak menjadi latar belakang untuk panggilan, itu mengatur% BlueToothNeeded off dan bluetooth dimatikan. Menggunakan operasi terbalik, nonaktifkan bluetooth ketika TIDAK di Kontak DAN TIDAK di panggil tapi nyalakan bluetooth saat tugas keluar hampir berfungsi, tapi rupanya Tasker memperhatikan periode singkat ketika Kontak kehilangan status latar depan dan panggilan belum dimulai dan ternyata bluetooth mati.

Jadi, inilah yang bekerja untuk saya, berdasarkan blog ini :

  1. Buat Tugas yang disebut Dummydengan Action ofTasks > Wait > 1ms
  2. Buat Profil yang disebut stateInCalldengan syarat State > Phone > Call > Type: Any. Tautkan ke Dummytugas.
  3. Buat Profil yang disebut stateInContactsdengan syarat State > Application > Contacts. Tautkan ke Dummytugas.
  4. Buat Profil yang disebut Bluetooth Neededdengan syarat State > Variable > Variable Value. Tetapkan Nama ke %PACTIVE, Op ke Matches, dan Nilai ke *,stateInCall,*|*,stateInContacts,*. Menurut dokumen Tasker,% PACTIVE berisi daftar Profil aktif yang dipisahkan koma di mana daftar juga dimulai dan diakhiri dengan koma untuk mempermudah pencocokan. Tautkan Profil ini ke Tugas yang disebut Bluetooth Onyang mengaktifkan bluetooth menggunakan Net > Bluetooth > Set: OnAksi.
  5. Buat Tugas yang disebut Conditional Bluetooth Offdengan Tindakan berikut:
    1. Tugas> Tunggu> 10 detik
    2. Tugas> Jika> %PACTIVEtidak cocok*,stateInCall,*|*,stateInContacts,*
    3. Net> Bluetooth> Set: Off
    4. Tugas> Akhiri Jika
  6. Tekan lama pada Bluetooth NeededProfil lalu pilih Properties. Hapus centang Restore Settings.
  7. Tekan cepat Bluetooth NeededProfil hingga Bluetooth OnTugas muncul di bawahnya, di kolom kanan. Tekan lama Bluetooth Ondan pilih Add Exit Task, lalu pilih Conditional Bluetooth Off.

Conditional Bluetooth Offakan menunggu 10 detik sebelum memeriksa ulang bahwa keduanya stateInCalltidak stateInContactsbenar, pada titik mana Bluetooth akan dimatikan. Jika tidak, ia meninggalkan bluetooth dan ketika kedua stateInCalldan stateInContactskeluar kemudian, ia akan melakukan 10 menunggu kedua dan periksa lagi.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.