Tasker için bağlamlarda VEYA mantığını kullanma


23

Bir WiFi bağlantısının SSID'sinin 'ABC' veya 'XYZ' olduğu bir bağlam oluşturmak istediğimi varsayalım .

2 bağlamı nerede yaratabileceğimi görebiliyorum, ancak ikisi arasında VE mantığını zorluyor gibi görünüyor, bu nedenle, kelimeler için hem 'ABC' hem de 'XYZ'e yakın olmalıyım.

Bağlam her ikisi için de değil, nasıl yapılır?

Yanıtlar:



20

Ya da muhtemelen ters bir işlem yapmak için "Ters" koşulları kullanabilirsiniz?

WiFi bağlandığında veya Profil: A etkin değilken bir görev çalıştırmak istiyorsanız, bunun yerine "WiFi bağlantısı kesildi" VE "Profil: A etkindir" hem de "ters" onay kutusu seçili olarak ayarlayabilir ve Mümkünse bunun tersini yapan görev.

Bu temelde nedeniyle çalışır:

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


3
Bu cevap güzel çünkü daha genel. Yani, "Wifi Bağlandı" dışındaki içerik türleriyle çalışır. Örneğin, Pebble saatime bağlandığında veya bağlandığında telefonumu sessiz moda koymak için bir profil oluşturmak istedim. Bunu yapmanın en kolay yolu, girişte sessiz modu devre dışı bırakan ve çıkışta sessiz modu etkinleştiren bir "Çakıl ve bağlı değil" profili oluşturmaktı. DeMorgan Yasaları FTW.
Laurence Gonsalves

4

İşleminizi "% condition = true" değişkenine bağlı hale getirebilir ve ardından iki farklı profil yapabilirsiniz:

  • profile a: koşulu "true" olarak ayarla
  • profil b: koşulu "true" olarak ayarla

profiliniz: eğer "koşul" değişkeni = true ise ... ... ve çıkış görevinize gidiyor

Ancak yazarlar bunun için bir zevki arttırırlarsa iyi olurdu ... :)


2
Bu yöntem, koşul aynı anda hem a hem de b profili tarafından doğru ya da yanlış ayarlandığında sorunlara neden olur. Örneğin, bir aramada veya Rehber uygulamasındayken bluetooth özelliğini açmak istedim. Her iki durumda da% BluetoothNeeded = 1 olarak ayarlamıştım ve her iki durumda da çıktıktan sonra netleştim. Bir aramadayken Rehber uygulaması arka plana dönüşür ve genellikle% BluetoothNeeded'i temizleyen ve arama sırasında bluetooth kulaklığımı kesen bluetooth kapanması için hafızayı kurtarmak için askıya alınır.
Chris Dragon

4

birileri buraya gelirse, çözümümü bu soruna gönderiyorum:

ya da deyimdeki her koşul için bir profil oluşturun% Reasons - = 1 çıkışında% Reasons + = 1 girin

% Reasons> 0 koşulunu ve gerekli giriş ve çıkış görevlerini içeren bir profil oluşturun

şerefe!


2

Her içerik için tek bir profil oluşturmanız ve onu eylemle ayrı ayrı eşleştirmeniz gerekir.


3
Hm, bu gerçekten bir çıkış görevim olmayacak anlamına mı geliyor?
Zombiler

2

Bluetooth kulaklığımı desteklemek için, isteğim Kişiler uygulamasında VEYA bir aramadayken bluetooth özelliğini açmaktı. Sadece bir görüşme sırasında yapabilirdim, fakat diğer tarafın konuşmasından önce kulaklığımın bağlı olduğundan emin olamıyorum.

Daha önce yayınlanan çözümlerin hiçbiri işe yaramaz. Rehberde veya aramada iken% BluetoothNeeded değerini ayarlamak, bir çağrı başladığında,% BlueToothNeeded özelliğini açık olarak ayarladığını ancak Rehber'in çağrı için arka plan haline geldiğinde,% BlueToothNeeded özelliğini kapattığını ve bluetooth kapandığını gösterir. Ters işlemi kullanarak, Kişilerde DEĞİLDİR ve aramada OLMADIĞINDA Bluetooth'u kapatın, ancak bir çıkış görevi olarak bluetooth'u açın, ancak görünüşe göre Tasker, Rehber'in ön plan durumunu kaybettiği ve arama henüz başlamadığı ve kısa bir süre önce kapandığı zaman kısa bir süre fark eder kapatır.

Yani burada dayanarak benim için çalıştı ne bu blog :

  1. DummyEylemi ile çağrılan Görev OluşturmaTasks > Wait > 1ms
  2. stateInCallKoşullu olarak adlandırılan bir Profil oluşturun State > Phone > Call > Type: Any. Bağlamak Dummygörevi.
  3. stateInContactsKoşullu olarak adlandırılan bir Profil oluşturun State > Application > Contacts. Bağlamak Dummygörevi.
  4. Bluetooth NeededKoşullu olarak adlandırılan bir Profil oluşturun State > Variable > Variable Value. Adı %PACTIVE, Op Matchesve Değer olarak ayarlayın *,stateInCall,*|*,stateInContacts,*. Tasker belgelerine göre,% PACTIVE, eşleştirmeyi kolaylaştırmak için listenin başlayıp virgülle bittiği virgülle ayrılmış aktif Profillerin bir listesini içerir. Bu Profili Eylemi Bluetooth Onkullanarak bluetooth özelliğini açan bir Görev bölümüne bağlayın Net > Bluetooth > Set: On.
  5. Conditional Bluetooth OffAşağıdaki İşlemlerle çağrılan bir Görev oluşturun :
    1. Görev> Bekle> 10 saniye
    2. Görev> If> %PACTIVEeşleşmiyor*,stateInCall,*|*,stateInContacts,*
    3. Net> Bluetooth> Ayarla: Kapalı
    4. Görev> Sonlandır
  6. Bluetooth NeededProfile uzun basıp sonra seçin Properties. İşaretini kaldırın Restore Settings.
  7. Görev sağ sütunda Görev altında görünene Bluetooth Neededkadar Profile hızlıca basın Bluetooth On. Uzun basın Bluetooth Onve seçin Add Exit Task, sonra seçim yapın Conditional Bluetooth Off.

Conditional Bluetooth Offne doğru ne stateInCallde stateInContactsdoğru olup olmadığını kontrol etmeden önce 10 saniye bekleyecek , bu noktada bluetooth kapanacaktır. Aksi takdirde, ve ne zaman hem bluetooth bırakır stateInCallve stateInContactssonra, parti 10 saniye bekleyin yapacak ve tekrar kontrol çıkışında.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.