Antworten:
Titanium Backup usw. wird nur Package Manager (pm)
zum Einfrieren einer App verwendet. pm
hat eine Funktion, die verhindert, dass Apps im Launcher ausgeführt und angezeigt werden. Um es zu benutzen, führen Titanium Backup usw. den folgenden Befehl aus:
pm disable {Paketname}
Sie können Apps selbst einfrieren, ohne eine spezielle Freezer-App zu verwenden. Verwenden Sie einfach den obigen Befehl in Terminal Emulator oder ADB Shell
.
Wenn Sie zum Beispiel einfrieren möchten Stock Web Browser
, öffnen Sie den Befehl Terminal Emulator
und wechseln Sie zu root su
. Führen Sie dann aus # pm disable com.android.browser
.
Es wird zurückkehren #Package com.android.browser new state: disabled
. Getan!
Starten Sie Ihren Launcher neu (bei einigen Geräten ist möglicherweise ein Neustart erforderlich), damit das App-Symbol nicht mehr angezeigt wird.
Zum Abtauen der App, ersetzen Sie einfach disable
mit enable
in dem Befehl.
pm disable
sagt nur "getötet", dann startet der Prozess sofort wieder. kill -STOP pid ist besser. Sie können sehen, welche in der ps
Ausgabe gestoppt sind .
Ich habe herausgefunden, wie es pm disable
funktioniert:
Wenn Sie rennen cat /system/bin/pm
, gibt es:
# Script to start "pm" on the device, which has a very rudimentary
# shell.
#
base=/system
export CLASSPATH=$base/framework/pm.jar
exec app_process $base/bin com.android.commands.pm.Pm "$@"
Es ist also anscheinend dasselbe wie der PackageManager, den wir von Java aus verwenden, es nennt es sich - nur in einem Stammkontext, auf den keine Benutzer-App direkt zugreifen kann.
Sie KÖNNEN mit prüfen, ob etwas eingefroren ist
getPackageManager().getApplicationEnabledSetting( the package name ) ==
getPackageManager().COMPONENT_ENABLED_STATE_DISABLED)
In Unix-Systemen haben Dateien drei Berechtigungen: Lesen, Schreiben und Ausführen.
(Für 3 Kategorien von Personen: der Eigentümer der Datei [normalerweise ihr Ersteller], eine Gruppe von Personen und alle anderen, aber das Thema ist ungültig).
Wenn Sie die Ausführungsberechtigung der Datei entfernen, kann diese nicht mehr gestartet (ausgeführt) werden.