Erkennen Sie mit dem Tasker, wenn eine App abstürzt, und erzwingen Sie das Schließen und starten Sie sie schließlich erneut

Auf meinem Handy stürzt die App Bluetooth Share zufällig ab. Mit Tasker möchte ich in der Lage sein, diesen Absturz zu erkennen und dann das Schließen von Bluetooth Share zu erzwingen und schließlich Bluetooth Share erneut zu starten. (Oder Bluetooth wieder einschalten)

PS: Ich habe Tasker bereits und bin auf CM12.1 gerootet.

Jede Hilfe ist willkommen. Danke!

Ich hätte versuchen können, eine Antwort zu posten, aber ich habe keine solche App, die zufällig abstürzt. Ich würde vorschlagen, logcat zu beobachten, um zu sehen, ob die Abstürze eine Absicht oder Broadcast-bezogene Informationen haben. Wenn der Absturz die App nicht neu startet, können Sie diese Antwort ein wenig unterstützen (Hinweis: mFocusedActivity).
Könnte Tasker Process Running (KC) es Ihnen ermöglichen, zu erkennen, wann die App geschlossen wird? play.google.com/store/apps/details?id=org.kc.tasker.processes
@ LJD200 Diese App prüft nur, ob eine App ausgeführt wird oder nicht, sie kann keinen App-Absturz erkennen.
@SuperThomasLab Startet sich diese Bluetooth-Freigabe nach einem Absturz neu oder müssen Sie dies erneut manuell tun, einschließlich des Ein- und Ausschaltens? Tritt dieser Absturz auch auf, wenn es im Hintergrund läuft (wenn Sie etwas anderes tun) oder wenn es im Vordergrund ist? // Haben Sie eine andere App, die sich ähnlich verhält, oder möchten Sie ausschließlich eine Lösung für Bluetooth Share. (Ich kann keine Lösung testen oder erstellen, es sei denn, ich habe eine solche App)?
@SuperThomasLab Werden Android-Apps nicht geschlossen, wenn sie abstürzen?
Um Bluetooth wieder einschalten zu können, muss ich es zuerst erzwingen und dann manuell wieder starten und ich möchte es mit Tasker automatisieren. @Feuerlord
@Firelord Bluetooth Share wird nicht vollständig geschlossen.
@SuperThomasLab Oh ok, tut mir leid. Mein Fehler.
Sie können versuchen, die Bluetooth-Freigabe resident im Speicher zu halten, damit sie nie abstürzt.

Antworten (2)

Leider ist es nicht möglich. Tasker kann einen App-Absturz nicht erkennen.

Trotzdem können wir etwas dagegen tun.

Lassen Sie uns zuerst ein Profil erstellen, das die Tötungsarbeit erledigt. Es wird ausgeführt, wenn das Bluetooth ausgeschaltet wird.

  • Profil (Name): BTern

    • Status (Kontext): BlueTooth-Status [Status:Aus] (Profil wird ausgelöst, wenn BT ausgeht)
    • Aufgabe: (Sie können der Aufgabe einen Namen geben)

      • A1: App beenden [App:Bluetooth Share Use Root:On] (Klicken Sie auf das +, um diese Aktionen hinzuzufügen)
      • A2: Warten [MS:0 Sekunden:5 Minuten:0 Stunden:0 Tage:0] (5 Sekunden warten)
      • A3 (optional): [X] App starten [App:Bluetooth Share] (falls Sie sie starten müssen)
      • A4: Bluetooth [Set:On] (Schaltet Bluetooth ein)`

Hinweis: Wenn das Töten auch mit Root nicht funktioniert (es könnte ein Problem mit Ihrem Tasker oder Root vorliegen), können Sie den folgenden Shell-Befehl ausprobieren:

am force-stop packagename

Z.B:

am force-stop com.google.android.apps.maps

Oder wenn das nicht geht:

  • pm deaktivieren
  • Warten Sie 3 Sekunden
  • pm aktivieren

Die nächste Frage ist nun, wie man Bluetooth ausschaltet, ohne die oben genannten Anweisungen auszuführen.

Es ist ganz einfach. Machen Sie eine andere Aufgabe.

  • Profilstatus: BTrern → Aus
  • Warten Sie 5 Sekunden
  • Bluetooth → Aus

Benennen Sie diese Aufgabe (wie BTOFF) und erstellen Sie eine Verknüpfung zu Ihrem Startbildschirm.

Wann immer Sie Ihr BT ausschalten möchten, verwenden Sie jetzt diese Verknüpfung.

Machen wir eine andere Aufgabe, die sowohl BT als auch BTrern einschaltet

  • Bluetooth → EIN
  • 5 Sek warten
  • Profilstatus → BTren : EIN

Verwenden Sie erneut die beiden obigen Aufgabenverknüpfungen, um BT ein- oder auszuschalten.

Sie können auch eine Szene oder ein Widget verwenden, um es noch einfacher zu machen, wenn Sie sich genug Wissen mit Tasker angeeignet haben.


ALT


Ich verstehe nicht ganz, was Sie mit Bluetooth-Freigabe meinen, aber ich nehme an, Sie meinen die Aktivität, die von Teilen → Bluetooth geöffnet wird. Vielleicht würden ein oder zwei Bilder helfen.

Anstatt einen Weg zu finden, versuchen Sie zuerst, es zu beheben, indem Sie:

  • Mit einem Log-Tool wie catlog . (Catlog öffnen → auf Fehler setzen, Absturz abwarten und dann Catlog erneut öffnen und Log speichern.)
  • Suche danach. Sie haben keine Informationen zu Ihrem Android-Modell bereitgestellt, daher müssen Sie dies möglicherweise selbst tun.

Falls das nicht funktioniert, können wir Tasker verwenden. Ich glaube, dass der Absturz innerhalb weniger Sekunden nach dem Öffnen der Aktivität auftreten wird. Das können wir zu unserem Vorteil nutzen.

  • TRIGGER ON: (Wenn die Bluetooth Share-Aktivität geöffnet wird)

    • Wenn (Bluetooth Share-Aktivität schließen) UND (qtime < 5 Sek.)

      • Start (Bluetooth Share-Aktivität)
    • sonst (gehe zu 1)'

Hier ist qtime eine lokale Variable, die speichert, wie viele Sekunden die Aufgabe ausgeführt wird. Sie finden das im Hilfebereich von Tasker.

Sie können auch Tasker Process Running (KC) für den erforderlichen Prozess verwenden.

Zweite Methode:

Stattdessen ist es viel einfacher, stattdessen eine Szene zu erstellen.

  • Machen Sie einfach eine kleine Box mit einem Knopf darin, der die Aktivität ausführt. Bleiben Sie unaufdringlich.
  • Szene 1:

    • Beenden Sie den Bluetooth Share-Prozess
    • Starten Sie den Bluetooth-Freigabeprozess
  • TRIGGER ON: (Wenn die Bluetooth Share-Aktivität geöffnet wird)

    • Erstellen Sie Szene1

      • Wenn (Bluetooth Share-Aktivität schließen)

        • 5 Sekunden warten
        • Zerstöre Szene1

Dadurch wird beim Öffnen von Bluetooth Share eine kleine Überlagerung angezeigt. Wenn es abstürzt, können Sie einfach Ihren Kill-and-Start-Befehl ausführen. Und wenn es nicht abstürzt, wird die Szene nach 5 Sekunden automatisch zerstört.

Möglicherweise kann die Bluetooth-Dateiübertragung hilfreich sein.

Tolle Antwort, aber ''Bluetooth Share'' stürzt zufällig ab. Also nicht, wenn ich eine Aktivität öffne, eine Datei freigebe usw. Ich werde den Logcat ausprobieren
Um es einfach auszudrücken, verwenden Sie eine Szene, um Bluetooth Share zu stoppen und neu zu starten. Übrigens, können Sie bitte deutlicher machen, was Sie mit "Bluetooth-Freigabe" meinen? Ein Bild kann mehr als 1000 Worte sagen!
Ja, und das ist die „Bluetooth (share)“-App: imgur.com/peB7kV7
Bluetooth-Freigabe ist nicht nur der Freigabeteil, sondern die gesamte Bluetooth-App. Es stürzt nicht ab, wenn ich versuche, eine Datei freizugeben, aber es tritt zufällig auf. Und es ist sehr ärgerlich, weil ich ein Android Wear-Gerät habe. Ich habe ein Samsung Galaxy S4 mit Cyanogenmod 12.1 und schaue dir auch meine Frage im Cyanogenmod-Forum hier an: forum.cyanogenmod.org/topic/…
Hier ist der Logcat: pastebin.com/jHPLxPGt
Nicht die Daten, ich muss nur das Schließen erzwingen.
Ok, jetzt kann ich es klar verstehen. Wie es heißt, ist es ein nächtliches Problem, also können Sie es nicht beheben. Logcat funktioniert also nicht. Wie Sie in Ihrem Beitrag angegeben haben, besteht die einzige Möglichkeit außer dem Neustart darin, Daten zu löschen und Bluetooth einzuschalten. Verwenden Sie daher im Tasker anstelle des Tötens die Datenlöschung und schalten Sie Bluetooth ein. Das sollte jetzt funktionieren.
Hallo! Danke für die ausführliche Antwort, aber ich verstehe diesen Schritt nicht Enter: Anon (43). Können Sie mir erklären, was hier zu tun ist?
Ich habe es bearbeitet, um es etwas menschenfreundlicher zu machen. Das Enterbedeutet, dass die Aufgabe eine Eingangsaufgabe ist. Nach Enter: ist der Name der Aufgabe. Wenn ich die Aufgabe BTTSK genannt habe, würde sie zeigen Entry: BTTSK. Wenn Sie ihm nichts benennen, wird der Standardname Anonverwendet, der Anonym darstellt.
Tasker „erkennt“ den Absturz erfolgreich, schlägt jedoch beim Einschalten von Bluetooth fehl, sodass es immer noch ein Problem mit dem erzwungenen Schließen von Bluetooth gibt.
Wenn Bluetooth abstürzt, wiederholt es die Aufgabe auf unbestimmte Zeit, bis ich den Tasker deaktiviere. Bitte helfen Sie
Es "erkennt" erfolgreich den Absturz und schaltet Bluetooth wieder ein, aber es wiederholt die Aufgabe und es wird wieder und wieder und wieder gestartet ...
>Super, zumindest haben wir das große Hauptproblem gelöst! Jetzt können Sie die winzigen Mini-Probleme ganz einfach lösen: Probieren Sie am Force-Stop-Paketnamen aus, z. am force-stop com.google.android.apps.maps Oder wenn das nicht funktioniert pm deaktivieren Warten Sie 3 Sekunden pm aktivieren Ich empfehle das "oder" nicht, da ich es noch nicht ausprobiert habe, ich habe es nur notiert, falls ich es brauche. Wie auch immer, testen Sie mit Wait 3 sec, versuchen Sie es zuerst ohne diesen Befehl, wenn das nicht funktioniert, fügen Sie den Wartebefehl hinzu.
Übrigens können Sie auch das Secure Settings Plugin verwenden , es gibt viel mehr Freiheit. Off-Topic: Schauen Sie sich einfach diese TODOOOOOOO-LISTE an !
Es funktioniert jetzt, danke für die Hilfe. Das Kopfgeld gehört jetzt dir!
Ich möchte nicht unhöflich klingen, aber Ihr Sinn für Formatierung ist schrecklich. Sie haben Backticks missbraucht, um die Formatierung Ihrer Antwort gemäß der Struktur zu umgehen, die die Website versteht. Ich habe die Formatierung korrigiert, aber bitte missbrauchen Sie nicht die Backticks (`). Gibt es hier auch noch einen echten Bedarf für die ältere Antwort?
  • Profilkontext App: Bluetooth Share
  • Aufgabe eingeben

    • A1: Stopp
  • Aufgabe beenden

    • A1: Bluetooth-Freigabe

Ist das was du willst?

Erkennt das nicht nur, wenn Bluetooth ausgeschaltet ist? Vielleicht sollte ich meinen Grund erklären, warum ich einen Absturz erkennen möchte. Auf meinem Handy stürzt Bluetooth zufällig ab. Ich möchte, dass der Tasker in der Lage ist, das Stoppen von Bluetooth zu erzwingen und es dann erneut zu starten. Ich möchte einen Absturz erkennen, denn wenn ich Bluetooth manuell ausschalte, bleibt es ausgeschaltet und schaltet sich nicht wieder ein. Ist das ausführlich genug?
Verstanden, Sie könnten die Regel nur dann auslösen lassen, wenn Bluetooth eingeschaltet ist
Aber trotzdem, wenn Sie eine Regel hinzufügen, wenn Bluetooth eingeschaltet ist. Wenn ich Bluetooth ausschalte, wird es auch die Regel umgehen, oder?
Ich glaube nicht, probiere es aus und sag mir, ob es funktioniert hat
OK, aber können Sie mit den Schritten eine detaillierte Antwort geben. Ich bin Tasker-Neuling. Habe es erst seit einer Woche oder so. Zum Beispiel weiß ich halb, was "A1" ist. Danke