Ich versuche, Tasker zu verwenden, um benutzerdefinierte Benachrichtigungen mit AutoNotification mit dem Ereigniskontext „Paket aktualisiert *“ zu erstellen. Aber was ich wirklich brauche, ist zu wissen, ob beim Aktualisieren eines Pakets der aktualisierte App-Paketname an eine Variable übergeben wird? Ich kenne die Absicht von Package_Added bereits aus dieser anderen Frage , aber es sagt nichts über eine Absicht von Package_Updated aus.
Sie können adb jederzeit zu Ihren Diensten stellen, um die Jagd selbst durchzuführen. Beispiel: Wenn Sie nach einem erfolgreichen Update einer App sofort den folgenden Befehl ausführen und dem Abschnitt ACTIVITY MANAGER BROADCAST STATE (Dumpsys Activity Broadcasts) folgen, würden Sie auf die Absicht android.intent.action.PACKAGE_REPLACED stoßen . Sie würden auch feststellen, dass die Daten in dieser Absicht den viel gesuchten Paketnamen enthalten.
adb shell dumpsys activity
Relevante Demo-Ausgabe:
#0: BroadcastRecord{dec5090 u0 android.intent.action.PACKAGE_REPLACED} act= android.intent.action.PACKAGE_REPLACED dat= Paket:com.koushikdutta.backup flg=0x4000010 (hat Extras) Extras: Bundle[{android.intent.extra.UID=10185, android.intent.extra.REPLACING=true, android.intent.extra.user_handle=0}
Um die Informationen in Tasker zu verwenden, richten Sie Ihr Profil und Ihre Aufgaben wie folgt ein:
Profil: Ereignis → System → Absicht erhalten
android.intent.action.PACKAGE_REPLACED
package
Aufgabe: (Aktionen):
Variablen → Variablensuche Ersetzen
%intent_data
package:
Ersetzen durch: Lassen Sie dies unberührt, da wir die Übereinstimmung löschen möchten
Der Paketname allein wäre nun für den Wert der Variablen %intent_data
(eine lokale Variable) verfügbar. Verwenden Sie es, wo immer Sie wollen.
Um das App-Label zu erhalten, können Sie entweder die eingebaute Funktionalität von Tasker verwenden oder verwenden aapt
(letzteres erfordert Root-Zugriff)
App → Test-App:
%intent_data
Ergebnis speichern in:%label
Das App-Label kann nun aus der Variable abgerufen werden %label
.
Weitere Informationen zur Handhabung von Absichten in Tasker finden Sie unter Zugreifen auf Absichtsdaten .
Hausaufgabe : Wenn Sie die Ausgabe der dumpsys-Aktivität genau verfolgen, werden Sie feststellen, dass die Information, dass die App aktualisiert wurde, tatsächlich nur von android.intent.action.PACKAGE_ADDED abgerufen werden kann .
Verwandt: Holen Sie sich den Namen der neu installierten App mit Tasker