Wie kann ich mobile Daten regelmäßig mit Tasker aktivieren?

Ich habe Juicedefender ausprobiert und es macht genau das, was ich will, aber da ich Tasker bereits die ganze Zeit laufen habe, suche ich nach einem Tasker-Rezept.

Ich möchte folgendes Verhalten erreichen:

  • Deaktivieren Sie mobile Daten, wenn der Bildschirm gesperrt ist und keine Übertragung stattfindet. Wenn eine Übertragung läuft, warten Sie, bis sie abgeschlossen ist, bevor Sie mobile Daten deaktivieren. Aktivieren Sie mobile Daten nur in regelmäßigen Abständen von 15 Minuten.

Antworten (1)

Ein ziemlich enges Profil ist bei Tasker-Profile (Google-Translate englische Variante hier ) beschrieben. Ich versuche hier mal ein Abstract zu geben:

Basisdaten Ein/Aus

Aufgaben

Dazu benötigen Sie zwei Aufgaben:

  1. Mobile Daten aktivieren:
    • Net -> Auto Sync (auf EIN stellen)
    • Netz -> Mobile Daten (einstellen)
  2. Mobile Daten deaktivieren:
    • Net -> Auto Sync (auf EIN stellen)
    • Netz -> Mobile Daten (einstellen)

Sie können den Teil "Automatische Synchronisierung" wahrscheinlich überspringen (insbesondere wenn WLAN ins Spiel kommt), ich habe es nur der Vollständigkeit halber erwähnt. Außerdem kann die Variable Tasker -> PSAFE verwendet werden, um zu prüfen, ob sich das Gerät im Energiesparmodus befindet ( ~ 1 ) oder nicht ( !~ 1 ).

Bedingungen

Diese sind der schwierigere Teil. Das Ein- und Ausschalten des Bildschirms ist einfach: Ereignis -> Anzeige -> Anzeige entsperrt für aktive Anzeige, Ereignis -> Anzeige -> Anzeige aus für ausgeschaltete Anzeige. Der schwierigere Teil ist, nach noch laufenden Übertragungen zu suchen – ich weiß nicht, wie man das explizit macht , aber es kann wahrscheinlich implizit über die oben erwähnte %PSAFE- Tasker-Variable erfolgen: Bei einer laufenden Übertragung ist das Gerät weniger wahrscheinlich im Energiesparmodus. Wahrscheinlich müssen Sie damit experimentieren. Verbinden Sie diese Bedingungen mit den entsprechenden Aufgaben, um Profile zu erstellen.

Regelmäßige Kontrollen

Für diese müssen Sie den obigen Aufgaben eine Variable hinzufügen: %LCD , die uns den Status der Anzeige gibt. Also in Variable -> Variable Set Name=%LCD -- in 1. auf 1 (ein), in 2. auf 0 (aus). Erstellen Sie nun ein zusätzliches Profil:

  • Zeit: Wiederholung 15min
  • Status -> Variablenwert %LCD ~ 0
  • Status -> Variablenwert %PSAFE ~ 1

Es läuft also alle 15min, aber nur wenn das Display ausgeschaltet und Power-Safe aktiv ist. Wir brauchen auch eine zusätzliche Aufgabe:

  • Netz -> Mobile Daten: EIN
  • Netz -> Automatische Synchronisierung: EIN
  • Tasker -> Warten: 1min
  • Netz -> Automatische Synchronisierung: AUS
  • Netz -> Mobile Daten: AUS

Passen Sie sich Ihren Bedürfnissen an.

Prüfung auf mögliche Übertragungen im Gange

Auch hier bin ich mir nicht sicher, wie ich überprüfen kann, ob eine laufende Übertragung vorliegt. Eine mögliche Lösung kann in Google Groups gefunden werden , aber ich konnte dies nicht überprüfen. Obwohl Sie es vielleicht ausprobieren möchten, ist dies der grundlegende Extrakt:

Es ist ein Profil, das ich auf meinem Droid erstellt habe, um mit dem Konzept der Beobachtung von 3G-Verkehrspegeln zu experimentieren.

Profile: Net Traf 3G (62)
Priority: 2 CoolDown: 0
Time:  Every 10m
State: Mobile Network [ 2G:On 3G:On 3G - HSPA:On 4G:On ]
Enter: Read3gTraf (63)
A1: Test [Type:File Name Data:/sys/class/net/ppp0 Store Result In:%tg_exists Continue     Task After Error:On] 
A2: Read Line [File:/sys/class/net/ppp0/statistics/rx_bytes Line:1 To Var:%TG_RX] Read Line [ %tg_exists Is Set ]
A3: Variable Set [Name:%TG_RX_CHG To:%TG_RX-%TG_RX_OLD Do Maths:On Append:Off] 
A4: Variable Set [Name:%TG_RX_OLD To:%TG_RX Do Maths:Off Append:Off] 
A5: Stop [With Error:Off] Stop [ %SCREEN ~ off ]
A6: Variable Set [Name:%TG_RX_RATE To:ceil(%TG_RX_CHG/1024) Do Maths:On Append:Off] 
A7: Notify [Title:3g traffic active Text:%TG_RX_RATE kb since last check Icon:<icon> Number:0 Permanent:Off] 

%TG_RX_RATE enthält die in den letzten 10 Minuten empfangenen KB und kann in einer Kontextbedingung verwendet werden.
Wenn mein Telefon nur herumliegt, beträgt der Netzwerkverkehr im Hintergrund weniger als 20 KB pro Minute. Beim Surfen im Internet sind es 100 kb oder mehr pro Minute. Ihr Kilometerstand kann variieren.
Da /sys eigentlich ein virtueller Ordner ist, existiert der Ordner /sys/class/net/ppp0 nur, wenn die 3G-Schnittstelle eingeschaltet ist. Wenn ich WLAN einschalte, wird stattdessen das Verzeichnis /sys/class/net/tiwlan0 erstellt.
(Wenn ich also den Verzeichnispfad ändere, kann ich auch den WLAN-Verkehr beobachten.)