Ich mache eine App für elterliche Kontrolle / Verantwortlichkeit für Android. Es besteht aus einem Überwachungsdienst, der im Hintergrund ausgeführt wird und beim Starten des Telefons gestartet wird.
Leider habe ich festgestellt, dass beim Start von Android im "Abgesicherten Modus" die Dienste nicht automatisch gestartet werden und meine App aus diesem Grund einen schwerwiegenden Fehler aufweist.
Im abgesicherten Modus können das Web und andere Apps gestartet werden, ohne dass mein Überwachungsdienst ausgeführt wird.
Ich dachte, wenn es nicht möglich ist, die App-Aktivität im abgesicherten Modus zu überwachen, könnte ich zumindest meine App erkennen lassen, ob das Telefon zuvor im abgesicherten Modus war. Dann könnte es vielleicht den Elternteil oder den Verantwortungspartner alarmieren?
Führt Android ein Protokoll darüber? Oder irgendein Startprotokoll im Allgemeinen? Ich bin sehr offen für Vorschläge und Alternativen.
Antworten:
Ich denke, Sie haben sich erwischt, kurz gesagt, nichts, was Sie tun können!
Schauen Sie sich diese Quelle an , die erklärt, warum, speziell in diesem Abschnitt:
Systempartition und abgesicherter Modus
Keywords sind frei von Software von Drittanbietern
Bearbeiten:
Wenn Android hochfährt, speichert es einen Cache der
logcat
in einem temporären Puffer, der reserviert ist/dev/log
. Dieser Puffer wird recycelt, wenn er den Schwellenwert erreicht. Je größer der Schwellenwert ist, desto langsamer wird Android mit dem kontinuierlichen Spammen in den logcat-Puffer, wodurch er auf ein Minimum reduziert wird.Quelle:
system/core/logcat/logcat.cpp
Fragen Sie nicht, wie viele Zeilen für jede App unterschiedlich sein können. Nicht nur das, der Logcat verschwindet beim Neustart!
quelle
/dev/null
beim Neustart wie bei "business as usual" gelöscht ... und sagen nur .. :) Und danke für die Ablehnung!Nicht die beste Antwort, aber vielleicht sind die Informationen nützlich.
Die einzige mir bekannte Methode, die ein vom System nach einem Neustart erstelltes Protokoll enthält, ist
/proc/last_kmsg
.Ob der Kernel diese Protokolldatei nach einem Neustart beibehält oder nicht, hängt von den Einstellungen ab, die während der Kernel-Kompilierung angegeben wurden.
Meine Erfahrung hat gezeigt, dass bei einigen Standardgeräten (HTC) diese Protokollierung aktiviert ist, bei anderen nicht. Ich habe kein konsistentes Muster gesehen.
quelle
adb shell cp /sys/fs/pstore/console-ramoops /data/media/0/console-ramoops.`date "+%Y_%m_%d_%H_%M_%S"`.log
arbeitet mit TWRP auf OP3 mit Android 8-basierten LineageOS