Shell-Skript, um benutzerdefinierte Apps zu beenden, eine andere App auszuführen und dann beendete Apps neu zu starten?

Ist es möglich, ein Shell-Skript zu erstellen, das beispielsweise mit Smanager ausgeführt wird, um Folgendes zu tun:

  1. Beenden Sie eine Liste benutzerdefinierter Apps, die aus einer Datei geladen wurden
  2. Führen Sie eine benutzerdefinierte App aus, die aus derselben Datei geladen wurde
  3. Wenn diese App geschlossen ist, stellen Sie beendete Apps wieder her

Wenn das nicht möglich ist, könnte es dann in zwei Skripts aufgeteilt werden, eines, das alle benutzerdefinierten Apps beendet und eine benutzerdefinierte App startet, das andere, um die benutzerdefinierten Apps neu zu starten?

All dies ist auf einem gerooteten Telefon. Danke.

Auf einem gerooteten Telefon ist das alles mehr als möglich, aber bevor einer von uns mit dem Schreiben des Skripts beginnt, darf ich fragen, warum Sie das tun möchten? Ich meine, warum sich die Mühe machen, die getöteten Apps neu zu laden? Wenn Sie damit beginnen möchten, ist Tasker der einfachste Weg für Sie, obwohl es Sie 8 USD kostet
Danke für den Kommentar. Was ich im Grunde möchte, ist eine Art "Spielmodus", der vor dem Start eines Spiels aktiviert und nach dem Beenden deaktiviert wird. Zum Beispiel habe ich einige Apps kugelsicher (z. B. Tastatur, WhatsApp, Viber usw.) und es wäre schön, sie vor dem Start des Spiels zu beenden und sie erneut zu starten, sobald ich fertig bin.
Das wäre meiner Meinung nach keine gute Idee - das wäre ein Batteriekiller - da das explizite Beenden anderer Apps und Dienste, die nicht Ihnen gehören, dazu führt, dass diese Dienste und Apps neu gestartet werden ... und tbqh, andere Apps nur um des Willens willen beenden von "Game Mode" ist eine sehr schlechte Idee und wenn das veröffentlicht würde - es gäbe einen Aufruhr darüber ...
Ich würde keine Systemdienste töten, nur Benutzer-Apps wie: Viber, WhatsApp, SwiftKey usw.
Außerdem ist das Spielen nicht gerade batteriefreundlich, und das Töten einiger Benutzer-Apps zahlt sich auf Geräten der unteren Preisklasse aus. In meinem Fall wird die Verzögerung beim Spielen von PES aufgehoben.
Gaming war noch nie batteriefreundlich. Und das Töten von Apps ist trotzdem nicht gerade ein guter Weg, damit umzugehen - es könnte einfacher sein, es anders auszudrücken, in den Flugzeugmodus zu wechseln und das Spiel auszuführen, diejenigen, die sich auf den Netzwerkverkehr verlassen, werden stillschweigend die Klappe halten, bis sie das Spiel beendet haben , und Flugzeugmodus ausschalten, alle glücklich!
Nicht ganz. Ich versuche nicht, Ablenkungen zu vermeiden, sondern genügend Ressourcen zu sammeln, um das Spiel ohne Verzögerungen auszuführen. Was für PES gut funktionierte, das anspruchsvollste Spiel, das ich auf meinem Android spiele. :)
Die Idee von GermainZ ist etwas legitim für ältere Geräte mit weniger RAM, t0mm13b. t0mm13b hat jedoch Recht in dem Sinne, dass sich die Apps bei Bedarf selbst neu starten würden.

Antworten (3)

Sie können einen Tasker verwenden , um Apps zu beenden, wenn Sie Ihr Spiel starten. Und Sie können auch das Gegenteil tun, wenn Ihr Spiel geschlossen wird, kann Tasker andere Apps initialisieren.

Sie können die Testversion verwenden, um dies zu testen, aber ich glaube, dass bessere Ergebnisse nur mit root erzielt werden können.


Tasker

Tasker von Crafty Apps im Google Play Store erhältlich (4,49€)

Von ihrer Website können Sie eine kostenlose 14-tägige Testversion herunterladen .

Sind Sie mit Tasker verbunden? Nur neugierig, da Sie die nahezu identische Antwort in einer anderen Frage gepostet haben ... :)
@t0mm13b Nein :) Ich habe in den letzten Tagen damit herumgespielt und es löst viele Kopfschmerzen :D
@t0mm13b Zufälligerweise kann Tasker die Lösung für diese letzten beiden Fragen sein :) Aber ich werde nach unbeantworteten Fragen suchen, um noch mehr Tasker zu fördern :D
Ja, es ist ein totes praktisches Werkzeug, in Ordnung :) Man muss sich etwas an ihre Logik gewöhnen, die kontraintuitiv erscheint ...
Ich habe eine Testaufgabe erstellt (500 ms lang vibrieren) und es scheint nichts zu tun, wenn ich sie ausführe (durch Drücken der Play-Like-Taste) ... Ich bin mir nicht sicher, ob es sich um einen Fehler handelt oder ob ich mich geirrt habe.
Hat bei mir nicht funktioniert, aber ich glaube, es ist ein Fehler auf meiner Seite. Wird später neu heruntergeladen. Da es das tut, worum ich bitte, akzeptiere ich diese Antwort.

Fast Reboot erledigt die Arbeit für Sie.

Wann immer Sie Ihr Spiel spielen möchten, starten Sie einfach Fast Reboot und starten Sie dann Ihr Spiel. Es wird etwas zusätzlichen RAM freigeben, ohne etwas Kritisches zu stören, und es ist viel einfacher als ein Skript.

Machen Sie sich keine Sorgen über den Neustart der Apps, denn wie t0mm sagte, werden sie sich fast sofort selbst neu starten. (Sie können Fast Reboot zweimal starten, um dies zu sehen)

Diese Lösung wird Ihre Anforderungen erfüllen, ohne für Tasker bezahlen zu müssen.

Obwohl ich diese App empfehle - sie kann alles.

Um im Spielmodus zu starten, können Sie die folgenden Befehle verwenden

pm enable package_name

Und

pm disable package_name

dann sollten Sie einige Anwendungsdienste wie WhatsApp neu starten, um die Überprüfung automatisch neu zu starten (nicht sicher, ob sie Dienste automatisch neu starten, da das Paket deaktiviert wurde), um dies zu tun, können Sie den amBefehl verwenden, aber nicht sicher, wo die besten Argumente sein werden. Sie können den logcatBefehl verwenden, um zu debuggen, welche Absichten gestartet werden.

Wenn Sie die Anwendung nur beenden, wird sie automatisch einige Sekunden lang neu gestartet.

In SManager ist es derzeit nicht möglich, ein Skript auszuführen, nachdem die App beendet wurde. Aber es könnte ein neues Feature sein.

Sie sollten SManager auch in der letzten Zeile des Skripts beenden.

killall os.tools.scriptmanager