HowTo: Killen einer App die im Hintergrund läuft

  • 21 Antworten
  • Letztes Antwortdatum
E

Erim

Erfahrenes Mitglied
102
In Tasker funktioniert das App beenden bei manchen Apps nicht immer.
Auch ein killall -9 in der shell, funktioniert auch nur wenn die App keinen Watchdog Dienst hat.
z.B. Maps und TuneIn Radio Pro

Zuverlässig beenden kann man eine app, egal ob im Vorder- oder Hintergrund, auch mit dem shell befehl:
service call activity 79 s16 AppName

100%ig kann ich nicht sagen was da genau passiert, ich hatte das damals so aufgeschnappt dass man dem activitymanager mit
"service call activity
79 s16"
mitteilt welche app runtergefahren werden soll.

-Wie finde ich den AppNamen heraus ?
-Beispiel Maps
Lösung 1:
In der shell mit ps | grep maps
den vollständigen Namen der App suchen.
Code:
shell@android:/ $ ps | grep maps
ps | grep maps
u0_a181   16773 142   484352 33928 ffffffff 00000000 S com.google.android.apps.maps:GoogleLocationService
u0_a181   19938 142   617356 66100 ffffffff 00000000 S com.google.android.apps.maps
u0_a181   20167 142   474960 27380 ffffffff 00000000 S com.google.android.apps.maps:MapsBackgroundService
shell@android:/ $
Ergebnis ist hier com.google.android.apps.maps
Der Befehl lautet also:
service call activity 79 s16 com.google.android.apps.maps

-Lösung 2
bei TuneIn Radio Pro
ergibt ein ps | grep tunein
Code:
1|shell@android:/ $ ps | grep tunein
ps | grep tunein
u0_a102   22221 142   509976 49164 ffffffff 00000000 S tunein.player.pro
u0_a102   22242 142   473132 35968 ffffffff 00000000 S tunein.service.pro
shell@android:/ $
Versuche ich nun den Player und den Service mit
service call activity 79 s16 tunein.player.pro bzw. tunein.service.pro zu beenden, passiert nichts.
Das Ursache ist dass das apk von TuneIn Radio Pro anders heisst.

Herausfinden könnt ihr den ApkNamen mit AppXplore
Hierzu scrollt ihr zu der App, unten drunter steht der Namen des Apk`s
Der Befehl ist also hier
service call activity 79 s16 radiotime.player
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Syrinx, vepman, chris115379 und 6 andere
Manche Apps lassen sich mit Tasker und der Option "lade letzte App" nicht zurück in den Vordergrund holen.
Gutes Beispiel ist hier Navigon, bei "lade letzte App" passiert nichts und ein erneutes startet von Navigon aus Tasker heraus öffnet eine neue Navigon Instanz.

Wir wollen ja die bereits laufende Instanz wieder zurück in den Vordergrund holen, z.B. wenn während dem Navigieren jemand anruft.

Beim erstmaligen Start von Navigon und gleichzeitigen ausführen von
dumpsys activity top | grep navigon
in der shell sieht man dass
com.navigon.navigator_select.hmi.CheckExistingRegistrationActivity
aufgerufen wird.
(Mehr Infos bringt der Befehl dumpsys activity | grep navigon )

Jetzt beenden wir Navigon und starten es aus der shell und mit SU mit:
am start -n com.navigon.navigator_select/.hmi.CheckExistingRegistrationActivity
und navigieren irgendwo hin, sobald das gestartet ist, führen wir erneut
am start -n com.navigon.navigator_select/.hmi.CheckExistingRegistrationActivity
aus.
Bei meinen Versuchen wurde sporadisch eine Neue Instanz geöffnet und manchmal auch die gestartete Instanz wieder in den Vordergrund geholt.

Deswegen benutzen wir hier AppXplore und rufen damit Navigon auf, als Info bekommt man nun folgendes:

Code:
Label: NAVIGON select
Package name: com.navigon.navigator_select
Version code: 31
Version name:  4.6
Shared user Id: null
Shared user label: 0
Data directory: /data/data/com.navigon.navigator_select
Source directory: /data/app/com.navigon.navigator_select-1.apk
Process name: com.navigon.navigator_select
Shared libraries: no-shared-libraries
Target SDK version: 8
Min SDK version: 8
Certificate start: Wed Dec 16 14:56:18 MEZ 2009
Certificate end: Sun May 03 15:56:18 MESZ 2037
App flags: 0x89e44
FLAG_ALLOW_CLEAR_USER_DATA
FLAG_HAS_CODE
FLAG_RESIZEABLE_FOR_SCREENS
FLAG_SUPPORTS_LARGE_SCREENS
FLAG_SUPPORTS_NORMAL_SCREENS
FLAG_SUPPORTS_SMALL_SCREENS

Signature: CN=Unknown
 OU=Unknown
 O="Navigon AG
 Schottmüllerstraße 20A
 20251 Hamburg"
 L=Unknown
 ST=Unknown
 C=Unknown
Permissions: android.permission.READ_CONTACTS
com.android.vending.BILLING
android.permission.INTERNET
android.permission.ACCESS_FINE_LOCATION
android.permission.READ_PHONE_STATE
android.permission.READ_LOGS
android.permission.WAKE_LOCK
android.permission.ACCESS_NETWORK_STATE
android.permission.RESTART_PACKAGES
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.WRITE_SETTINGS
android.permission.CAMERA
android.permission.LOCATION
android.permission.VIBRATE
android.permission.FLASHLIGHT
android.permission.GET_TASKS
android.permission.MODIFY_AUDIO_SETTINGS
android.permission.BLUETOOTH_ADMIN
android.permission.BLUETOOTH
android.permission.BROADCAST_STICKY
android.permission.ACCESS_COARSE_LOCATION
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_CALL_LOG

Activities: com.navigon.navigator_select.hmi.DebugPreferenceActivity
com.navigon.navigator_select.hmi.POICategoriesMultiSelectListActivity
com.navigon.navigator_select.hmi.mmr.PublicTransportationMultiSelectListActivity
com.navigon.navigator_select.hmi.StartScreenActivity
com.navigon.navigator_select.hmi.RecentsActivity
com.navigon.navigator_select.hmi.mapmanagement.MapManagerActivity
com.navigon.navigator_select.hmi.DisclaimerActivity
com.navigon.navigator_select.hmi.StartInfoScreenActivity
com.navigon.navigator_select.hmi.TmoOperatorCheckActivity
com.navigon.navigator_select.hmi.CheckExistingRegistrationActivity
com.navigon.navigator_select.hmi.MainMenuActivity
com.navigon.navigator_select.hmi.DestinationOverviewActivity
com.navigon.navigator_select.hmi.coordinatesInput.CoordinatesMainActivity
com.navigon.navigator_select.hmi.scenicRoutes.SelectScenicRouteActivity
com.navigon.navigator_select.hmi.scenicRoutes.ShowScenicRouteDetailsActivity
com.navigon.navigator_select.hmi.NavigationActivity
com.navigon.navigator_select.hmi.RegionInputActivity
com.navigon.navigator_select.hmi.CityInputActivity
com.navigon.navigator_select.hmi.StreetInputActivity
com.navigon.navigator_select.hmi.NumberInputActivity
com.navigon.navigator_select.hmi.PoiMenuActivity
com.navigon.navigator_select.hmi.PoiCategoryActivity
com.navigon.navigator_select.hmi.googlels.PoiGoogleActivity
com.navigon.navigator_select.hmi.rs.CameraViewActivity
com.navigon.navigator_select.hmi.FreeTextSearchActivity
com.navigon.navigator_select.hmi.ProcessPublicIntentActivity
com.navigon.navigator_select.hmi.googlels.GoogleShowResultsActivity
com.navigon.navigator_select.hmi.CoordinatesSearchActivity
com.navigon.navigator_select.hmi.lastMile.CategorySearchActivity
com.navigon.navigator_select.hmi.PoiOnRouteActivity
com.navigon.navigator_select.hmi.SubPoiCategoryActivity
com.navigon.navigator_select.hmi.DestinationActivity
com.navigon.navigator_select.hmi.FavouritesActivity
com.navigon.navigator_select.hmi.lba.ShowSavedAdsActivity
com.navigon.navigator_select.hmi.ExtendedInfoActivity
com.navigon.navigator_select.hmi.lba.ShowAdDetailsScreenActivity
com.navigon.navigator_select.hmi.lba.ShowPromotionScreenActivity
com.navigon.navigator_select.hmi.ContactsActivity
com.navigon.navigator_select.hmi.ViewContactActivity
com.navigon.navigator_select.hmi.FreeAddressActivity
com.navigon.navigator_select.hmi.SaveDestinationActivity
com.navigon.navigator_select.hmi.ScrollingMapActivity
com.navigon.navigator_select.hmi.ChooseDestinationActivity
com.navigon.navigator_select.hmi.GpsInfoActivity
com.navigon.navigator_select.hmi.EditDirectAccessActivity
com.navigon.navigator_select.hmi.SelectDirectCategoryActivity
com.navigon.navigator_select.hmi.SelectDirectSubCategoryActivity
com.navigon.navigator_select.hmi.RouteActivity
com.navigon.navigator_select.hmi.RouteProfileActivity
com.navigon.navigator_select.hmi.AddInterimDestinationActivity
com.navigon.navigator_select.hmi.NavigationSettingsPreferenceActivity
com.navigon.navigator_select.hmi.NavigationSettingsPreferenceActivityGeneral
com.navigon.navigator_select.hmi.NavigationSettingsPreferenceActivityNavigation
com.navigon.navigator_select.hmi.NavigationSettingsPreferenceActivityTraffic
com.navigon.navigator_select.hmi.ProductInfoActivity
com.navigon.navigator_select.hmi.InfoActivity
com.navigon.navigator_select.hmi.FAQActivity
com.navigon.navigator_select.hmi.ShowMapActivity
com.navigon.navigator_select.hmi.MultiModalRoutingActivity
com.navigon.navigator_select.hmi.MultiModalItineraryActivity
com.navigon.navigator_select.hmi.RouteOverviewActivity
com.navigon.navigator_select.hmi.ExitAppDialogActivity
com.navigon.navigator_select.hmi.RegisterStartScreenActivity
com.navigon.navigator_select.hmi.ActivationInputActivity
com.navigon.navigator_select.hmi.AppPermissionCheckActivity
com.navigon.navigator_select.hmi.TrialCheckResultActivity
com.navigon.navigator_select.hmi.ConfirmScreen
com.navigon.navigator_select.util.TwoOptionsConfirmScreen
com.navigon.navigator_select.hmi.InfoScreen
com.navigon.navigator_select.hmi.DeleteFilesActivity
com.navigon.navigator_select.hmi.SelectDownloadModeActivity
com.navigon.navigator_select.hmi.CheckWIFIActivity
com.navigon.navigator_select.hmi.WebViewActivity
com.navigon.navigator_select.hmi.select.MarketingInputActivity
com.navigon.navigator_select.hmi.select.SelectShowResultsActivity
com.navigon.navigator_select.hmi.select.SelectProductDetailsActivity
com.navigon.navigator_select.hmi.ExitApplicationActivity
com.navigon.navigator_select.hmi.PcConnectionInfoScreen
com.navigon.navigator_select.hmi.DownloadFilesActivity
com.navigon.navigator_select.hmi.powerTools.CockpitDemoActivity
com.navigon.navigator_select.hmi.TmoProductListActivity
com.navigon.navigator_select.hmi.TmoProductDetailActivity
com.navigon.navigator_select.hmi.TmoBillingDisclaimerActivity
com.navigon.navigator_select.hmi.TmoBuyProductActivity
com.navigon.navigator_select.hmi.TmoBillingErrorActivity
com.navigon.navigator_select.hmi.traffic.ShowTrafficActivity
com.navigon.navigator_select.hmi.traffic.ShowTrafficDetailsActivity
com.navigon.navigator_select.hmi.traffic.TrafficListPreferences
com.navigon.navigator_select.hmi.traffic.ShowDetourProposalsActivity
com.navigon.navigator_select.hmi.fcd.FcdPopupActivity
com.navigon.navigator_select.hmi.routePlanning.RoutePlanningActivity
com.navigon.navigator_select.hmi.routePlanning.RoutePlanningDetailsActivity
com.navigon.navigator_select.hmi.routePlanning.ShowRoutePointsActivity
com.navigon.navigator_select.hmi.routePlanning.LoadSavedRoutesActivity
com.navigon.navigator_select.hmi.routePlanning.ShowRouteOverview
com.navigon.navigator_select.hmi.routePlanning.SaveRouteActivity
com.navigon.navigator_select.hmi.news.NewsCheckerActivity
com.navigon.navigator_select.hmi.news.NewsTabActivity
com.navigon.navigator_select.hmi.weather.WeatherDetailsScreenActivity
com.navigon.navigator_select.hmi.DirectHelpActivity
com.navigon.navigator_select.hmi.MyDestinationsActivity
com.navigon.navigator_select.hmi.CountryInfoActivity
com.navigon.navigator_select.hmi.ReportSpeedCamActivity
com.navigon.navigator_select.hmi.UnitsPreferenceActivity
com.android.vending.billing.GoogleInAppPurchaseActivity
com.android.vending.billing.GoogleProductDetailsActivity
com.android.vending.billing.RegisterBuyedProductActivity
com.navigon.navigator_select.hmi.ProcessWidgetActivity
com.navigon.navigator_select.hmi.radiussearch.RadiusSearchActivity
com.navigon.navigator_select.hmi.CoordinatesDetailsActivity
com.navigon.navigator_select.hmi.shopFragments.ShopActivity

Launcher Activity: com.navigon.navigator_select.hmi.CheckExistingRegistrationActivity

Backup Agent: not defined
Debug Info: not defined
Hier findet sich auch
Launcher Activity: com.navigon.navigator_select.hmi.CheckExistingRegistrationActivity
ausserdem sieht man auch die Activities
diese hab ich dann der reihe nach ausprobiert und bin bei:
am start -n com.navigon.navigator_select/.hmi.PoiOnRouteActivity
gelandet.
Dieser Befehl holt euch Navigon zurück in den Vordergrund, ist es bereits im Vordergrund passiert nichts.

Ein Aufruf von
am start -a android.intent.action.MAIN -n com.navigon.navigator_select/.hmi.PoiOnRouteActivity
macht das selbe.
Da ich leider kein Profi bin weiss ich nicht worin hier der Unterschied liegt.

Lange Rede kurzer Sinn ein Aufruf von
am start -n com.navigon.navigator_select/.hmi.PoiOnRouteActivity
in Tasker mittels Shell ausführen + SU bringt euch Navigon zurück in den Vordergrund.
 
  • Danke
Reaktionen: zwantE
Hier ein Task der euch Navigon startet, wenn dieses noch nicht gestartet wurde.
Wurde Navigon bereits gestartet, wird es zurück in Vordergrund geholt.

Ein ausführen von
dumpsys activity a | grep "Recent #"
ergibt die "Recent Apps Liste"
Code:
shell@android:/ $ dumpsys activity a | grep "Recent #"
dumpsys activity a | grep "Recent #"
  * Recent #0: TaskRecord{417ff610 #14 A com.navigon.navigator_select U 0}
  * Recent #1: TaskRecord{41b20d20 #12 A net.dinglisch.android.taskerm U 0}
  * Recent #2: TaskRecord{41a59090 #2 A com.cyanogenmod.trebuchet U 0}
  * Recent #3: TaskRecord{411a1678 #13 A com.google.android.gm U 0}
  * Recent #4: TaskRecord{41831960 #10 A com.ttxapps.wifiadb U 0}
  * Recent #5: TaskRecord{416f7958 #9 A com.abcOrganizer.shortcuts U 0}
  * Recent #6: TaskRecord{419ed6b8 #8 A com.android.vending U 0}
  * Recent #7: TaskRecord{41383bc8 #6 A com.keramidas.TitaniumBackup U 0}
Wir brauchen hier den 2. Zahlenwert also bei Navigon ist dies die 14.
An diese kommen wir mit dem Befehl
dumpsys activity a | grep "Recent #" | grep "com.navigon.navigator_select" | grep -o -E "#[0-9]+ " | cut -c2-

Code:
shell@android:/ $ dumpsys activity a | grep "Recent #" | grep "com.navigon.navigator_select" | grep -o -E "#[0-9]+ " | cut -c2-
lect" | grep -o -E "#[0-9]+ " | cut -c2-                                      <
14
Um Navigon nun zurück in den Vordergrund zu holen nutzen wir den Befehl
service call activity 24 i32 14 i32 2
die 14 zwischen den beiden i32 ist unsere "ID" die wir zurück in den Vordergrund holen.

Ihr könnt damit auch andere Apps zurück in den Vordergrund holen, dazu müsst ihr nur den Paketnamen in dem dumpsys Befehl ersetzten.

Ich habe diese Vorgehensweise in einem anderen Zusammenhang hier gefunden:
https://www.android-hilfe.de/forum/...-1-basierende-kernel.287305.html#post-3878440
Vielen Dank an darth_mickrig für diese Infos !

Das ganze macht im Prinzip das selbe wie in Post 2 beschrieben, allerdings scheint mir dies der bessere weg zu sein, da man sich hier nicht mit Intents rumquälen muss.

Im Anhang noch den Task für Navigon, der euch das ganze automatisiert.
 

Anhänge

  • Navigon.tsk.zip
    701 Bytes · Aufrufe: 329
Zuletzt bearbeitet:
  • Danke
Reaktionen: zwantE
Im 3. Post den Navigon Task ersetzt.
Leider wird nach beenden von Navigon dieses nicht aus der Recent-App Liste rausgeworfen.
Dadurch lies sich dann Navigon, wenn es beendet wurde, nicht mehr über den Task starten.

Habe den Task jetzt so geändert das mit ps überprüft wird, ob der Navigon Prozess auch wirklich läuft.
Ausserdem findet ihr in der 1. Zeile die Variable %CHECKAPP, in dieser Variable steht der Paketname.
Wenn ihr also den Task für eine andere App nutzen wollt müsst ihr nur diese Variable ändern und in Zeile 8 "Lade Applikation" eure App auswählen.
 
Erim schrieb:
Hier ein Task der euch Navigon startetet, wenn dieses noch nicht gestartet wurde.
Wurde Navigon bereits gestartet, wird es zurück in Vordergrund geholt.

Ein ausführen von
dumpsys activity a | grep "Recent #"
ergibt die "Recent Apps Liste"
Code:
shell@android:/ $ dumpsys activity a | grep "Recent #"
dumpsys activity a | grep "Recent #"
  * Recent #0: TaskRecord{417ff610 #14 A com.navigon.navigator_select U 0}
  * Recent #1: TaskRecord{41b20d20 #12 A net.dinglisch.android.taskerm U 0}
  * Recent #2: TaskRecord{41a59090 #2 A com.cyanogenmod.trebuchet U 0}
  * Recent #3: TaskRecord{411a1678 #13 A com.google.android.gm U 0}
  * Recent #4: TaskRecord{41831960 #10 A com.ttxapps.wifiadb U 0}
  * Recent #5: TaskRecord{416f7958 #9 A com.abcOrganizer.shortcuts U 0}
  * Recent #6: TaskRecord{419ed6b8 #8 A com.android.vending U 0}
  * Recent #7: TaskRecord{41383bc8 #6 A com.keramidas.TitaniumBackup U 0}
Wir brauchen hier den 2. Zahlenwert also bei Navigon ist dies die 14.
An diese kommen wir mit dem Befehl
dumpsys activity a | grep "Recent #" | grep "com.navigon.navigator_select" | grep -o -E "#[0-9]+ " | cut -c2-

Code:
shell@android:/ $ dumpsys activity a | grep "Recent #" | grep "com.navigon.navigator_select" | grep -o -E "#[0-9]+ " | cut -c2-
lect" | grep -o -E "#[0-9]+ " | cut -c2-                                      <
14
Um Navigon nun zurück in den Vordergrund zu holen nutzen wir den Befehl
service call activity 24 i32 14 i32 2
die 14 zwischen den beiden i32 ist unsere "ID" die wir zurück in den Vordergrund holen.

Ihr könnt damit auch andere Apps zurück in den Vordergrund holen, dazu müsst ihr nur den Paketnamen in dem dumpsys Befehl ersetzten.

Ich habe diese Vorgehensweise in einem anderen Zusammenhang hier gefunden:
https://www.android-hilfe.de/forum/...-1-basierende-kernel.287305.html#post-3878440
Vielen Dank an darth_mickrig für diese Infos !

Das ganze macht im Prinzip das selbe wie in Post 2 beschrieben, allerdings scheint mir dies der bessere weg zu sein, da man sich hier nicht mit Intents rumquälen muss.

Im Anhang noch den Task für Navigon, der euch das ganze automatisiert.


Hallo Erim,

Danke für deine Anleitung.
Jedoch erscheint bei mir leider nichts wenn ich:
dumpsys activity a | grep "Recent #"
eingebe, obwohl bei mir viele Anwendungen im Hintergrund laufen.
Versucht habe ich dies mit dem freien Terminal Editor.
Muss ich irgendwas in den Optionen vom Emulator einschalten?
Habe noch nicht soviel Erfahrung mit Shell und Terminals
 
vermutlich musst du eine busybox installieren, gib mal in deinem terminal emulator

find /system -name "dumpsys"
ein.

Die Ausgabe sollte dann so aussehen, wie du siehst liegt bei mir das dumpsys binary in /system/bin/dumpsys
das sollte bei dir auch so sein, möglich wäre auch /system/sbin/dumpsys.

Code:
root@android:/ # find /system -name "dumpsys"
find /system -name "dumpsys"
/system/bin/dumpsys
 
Danke für die Antwort, das hat mir weiter geholfen, hab durch die von dir vorgeschlage Eingabe als Ausgabe "permission denied" erhalten. Musste dies also nur als "su" starten.
 
wie mache ich das mit dem DS Battery Saver? wenn ich es mit grep versuche gehts nicht da ich dannach nicht "DS Battery Saver" schreiben kann wegen den leerzeichen und "DSBatterySaver" kennt er nicht?
 
schreib mal den Namen der app klein, wenn du dann immer noch nichts findest ist der App-Name falsch.

lad die appxplore runter oder schau halt mit
dumpsys activity a | grep Recent
wie die app-Name richtig ist.
steht aber auch alles hier beschrieben.

Gesendet von meinem Nexus 4 mit Tapatalk 2
 
Anbei mal ein Beispiel wie man mit den hier beschriebenen Befehlen und der Trackballfunktion einen zuverlässigen Download der “Bild vorab“ automatisieren kann. Vorausgesetzt ihr lässt die Finger während den Trackballeingaben vom Tochscreen.

Nähere Erläuterungen schenk ich mir, da die Funktionen hier im Thread schon beschreiben sind.

Im Anhang liegt das Profil

Code:
Profil: Bild (166)
	Zeit: Von 12:15 Bis 12:20
	Status: WiFi Verbunden [ SSID:* MAC:* IP:* ]
Eingang: Bild (164)
	A1: If [ %dateBILD !~ %DATE ]
	A2: Variable Setzen [ Name:%dateBILD Zu:%DATE Mathematisch:Aus Hinzufügen:Aus ] 
	A3: Nachrichten-Popup [ Text:%dateBILD Lang:Aus ] 
	A4: Variable Setzen [ Name:%checkapp Zu:com.netbiscuits.bild.android Mathematisch:Aus Hinzufügen:Aus ] 
	A5: Shell Ausführen [ Befehl:am start %checkapp/de.bild.android.newsapp.ui.activities.specialform.BildVorabActivity Timeout (Sekunden):1 Benutze Root:An Store Output In: Store Errors In: Ergebnis Ablegen In: Task Weiter Ausführen Nach Fehler:An ] 
	A6: Shell Ausführen X  [ Befehl:dumpsys activity a | grep "Recent #0" | grep "%checkapp" | grep -o -E "#[0-9]+ " | cut -c2- Timeout (Sekunden):0 Benutze Root:An Store Output In:%dumpsys Store Errors In: Ergebnis Ablegen In: Task Weiter Ausführen Nach Fehler:An ] 
	A7: Warte [ MS:0 Sekunden:2 Minuten:0 Std.:0 Tage:0 ] 
	A8: Trackball [ Taste:Rechts Zeiten wiederholen:2 ] 
	A9: Warte [ MS:91 Sekunden:0 Minuten:0 Std.:0 Tage:0 ] 
	A10: Trackball [ Taste:Drücken Zeiten wiederholen:1 ] 
	A11: Warte [ MS:91 Sekunden:0 Minuten:0 Std.:0 Tage:0 ] 
	A12: Shell Ausführen [ Befehl:dumpsys activity a | grep "Recent #0" | grep "%checkapp" | grep -o -E "#[0-9]+ " | cut -c2- Timeout (Sekunden):0 Benutze Root:An Store Output In:%dumpsys Store Errors In: Ergebnis Ablegen In: Task Weiter Ausführen Nach Fehler:An ] 
	A13: If [ %dumpsys ist gesetzt ]
	A14: Shell Ausführen [ Befehl:dumpsys activity a | grep "Recent #1" | grep -o -E "#[0-9]+ " | cut -c2- | head -n1 Timeout (Sekunden):0 Benutze Root:An Store Output In:%ladeletzteapp Store Errors In: Ergebnis Ablegen In: Task Weiter Ausführen Nach Fehler:An ] 
	A15: Shell Ausführen [ Befehl:service call activity 24 i32 %ladeletzteapp i32 2 Timeout (Sekunden):0 Benutze Root:An Store Output In: Store Errors In: Ergebnis Ablegen In: Task Weiter Ausführen Nach Fehler:An ] 
	A16: End If 
	A17: End If
 

Anhänge

  • Bild.prf.tar.bz2
    42 Bytes · Aufrufe: 160
Zuletzt bearbeitet:
Da die Frage hier https://www.android-hilfe.de/forum/.../zwei-apps-im-hintergrund-oeffnen.392676.html aufgetaucht ist, wie man Apps im Hintergrund öffnen kann, hier mal 2 Profile die ein Lösungsansatz sind.

Vorneweg die "Slave" Apps werden nicht im Hintergrund geöffnet, sondern im Vordergrund, allerdings wird die "Master" App wieder in den Vordergrund geholt.

Als Apps hab ich Navigon und Blitzer.de genommen.

-Das Navigon Profil setzt im Eingang einfach nur ne Variable Navigon auf 1.
Beim Ausgang wird per Shell geprüft ob Navigon noch läuft und sich nur im Hintergrund befindet, ist das so bleibt %Navigon=1.
Wurde Navigon beendet dann wird aus %Navigon=0.

-Das Blitzer.de Profile wird nur abgearbeitet wenn %Navigon=1 ist und Blitzer.de in den Vordergrund rückt.
Ist dies der Fall wird Navigon zurück in den Vordergrund geholt.


Um jetzt andere Apps in Abhängigkeit mit Navigon zu starten, einfach im Navigon Eingangstask die anderen Apps mit bissl Wartezeit starten.
Mit der Bedingung %SlaveAPPs ungleich 1

Ausserdem ist es WICHTIG dass ihr euch dann im Navigon Eingangstask am ENDE ne Variable setzt z.b. %SlaveAPPs=1.
Dieses %SlaveAPPs soll verhindern dass die 2 profile in ner Endloschleife ausgeführt werden und die Apps Abwechselnd neu gestartet bzw. in den Vordergrund geholt werden.

Die Variable %SlaveAPPs muss dann im Navigon Ausgangtask auf 0 gesetzt werden, dort wo %NAVIGON auf 0 gesetzt wird.



Die Profile wurden mit der neusten Tasker Beta 4.0b18m exportiert, sollte ihr Probs haben einfach hier downloaden und installieren.
Tasker for Android
 

Anhänge

  • Navigon_Blitzer.zip
    1,6 KB · Aufrufe: 299
Hier mal ein Task der die Soundausgabe von de.blitzer überwacht und euch diesen dann auf eure BT-FSE via BTmono ausgibt.
Der Task beinhaltet noch ein shell script, dieses übernimmt die eigtl. Überwachung der Soundausgabe.
Grund hierfür ist, dass BTmono schneller gestartet wird.
Man kommt damit auf eine Verzögerung von ca. 2-3 sek bis der Sound an der FSE ankommt (zumindest bei meiner FSE dauert es so lange)
Bei blitzer.de ist diese Verzögerung aber erstmal zu vernachlässigen, da die Blitzer ja bei Zeiten angekündigt werden.

Am ende des Tasks gibt es ne Wartezeit, diese steht im Moment auf 5sec. d.h. es dauert min. 5sek bis BTmono ausgeschaltet wird, wenn kein SOUND ausgegeben wird.
Wird weiterhin Sound ausgegeben bleibt BTmono an, bis dass Handy irgendwann mal still ist.

Das Script liegt bei mit in /mnt/sdcard/!Scripte/Audio
Ihr könnt den Pfad aber auch im Task anpassen.

Edit:
ihr braucht dazu root und ne busybox, natürlich auch btmono und blitzer.de.
bei mir funktioniert das ganze unter cyanogenmod, mit der busybox von cyanogenmod.
 

Anhänge

  • AutoBT.zip
    1 KB · Aufrufe: 211
Zuletzt bearbeitet:
  • Danke
Reaktionen: chris115379
@Erim :
Ich habe eben versucht mit Hilfe der Shell die App Ultimate Rotation Control (https://play.google.com/store/apps/...=W251bGwsMSwxLDEwMiwibmwuZmFtZWl0LnJvdGF0ZSJd) zu beenden, aber sie startet sich sofort wieder neu.
Ich hab es sowohl mit der methode:
Run shell: service call activity 79 s16 nl.fameit.rotate
Als auch mit kill app versucht.
(Jeweils mit root)
Den namen habe ich über verschiedene Wege herausgefunden. AppXplore und über einen root dateimanager (solid Explorer).
Weiterhin habe ich versucht den receiver, der das Programm neu startet mithilfe der Rom Toolbox pro ausfindig zu machen und zu deaktivieren, allerdings funktioniert die App dann gar nicht mehr.
Ein Weg die App zu beenden ist über die App eigenschaften von Android.

Gibt es in Tasker die Möglichkeit die Display Rotation zu erzwingen? Dann würde sich das Theater um die oben genannten App in Luft auflösen.

Gibt es eine Möglichkeit die App beenden funktion von Android durch Tasker zu simulieren?

Danke für die Hilfe.
 
in tasker nen task erstellen, dann unter Display, display Ausrichtung wählen.

denke das ist das was die app machen soll.

edit:
hab die app mal installiert, du kannst doch in nem task diese app unter plugins direkt ansprechen.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: chris115379
Die Einstellung unter Tasker sorgt leider nicht dafür, dass das Display auch auf jeden Fall gedreht ist.
Ich habe folgende Konstellation:
Mithilfe von einem Xposed Mod habe ich alle Display Rotationen freigeschaltet. (Auch komplett auf dem Kopf)
Auf meinem Schreibtisch kommt ein Verbindungskabel zum Pc von vorne.
Um noch gut mit dem Handy hantieren zu können habe ich ein Profil, das beim Einstecken dafür sorgt, das Das Display auf dem Kopf steht.
Manche Apps haben mit der normalen Einstellung Probleme gemacht.

Das Plugin habe ich gar nicht gesehen.
Danke
 
Sorry, erledigt

Mfg
BigHorses
 
Zuletzt bearbeitet:
Ich habe es jetzt mit Hilfe dieses Threads erfogreich geschafft Navig0n wieder in der Fordergrund zu holen -- vielen Dank, sie funktioniert tadellos ..
:thumbsup:
Gibt es eine Möglichkeit Navigon direkt, so zu satrten, dass "Karte anzeigen" gesatrtet wird .. das ist das letzte, was mir für meine erfolgreiche Automatisierung meines Handys fehlt..


Danke,
Frank
 
Intent actions hast Du ja bereits erfolglos probiert.
Du kannst versuchen, nach einer Wartezeit (bis Navigon gestartet ist) einen Touch zu simulieren.
Also per Aktion Script -> Run Shell: input tap x y (Use Root [x]) ausführen.
Root ist aber Voraussetzung.
Tipps dazu hier im Forum
 
m505 schrieb:
I
Also per Aktion Script -> Run Shell: input tap x y (Use Root [x]) ausführen.
Root ist aber Voraussetzung.
Tipps dazu hier im Forum

Deine Idee funktioniert wunderbar!!! Vielen Dank!
:thumbup:
 

Ähnliche Themen

coolzero3389
Antworten
1
Aufrufe
149
coolzero3389
coolzero3389
holms
Antworten
1
Aufrufe
87
holms
holms
Zurück
Oben Unten