Ich habe ein Huawei P8 mit Android 5.0, das ich zum Testen einer App verwende. Die App muss im Hintergrund ausgeführt werden, da sie BLE-Regionen verfolgt.
Ich habe festgestellt, dass Huawei eine "Funktion" namens "Geschützte Apps" eingebaut hat, auf die über die Telefoneinstellungen (Akku-Manager> Geschützte Apps) zugegriffen werden kann. Auf diese Weise können ausgewählte Apps nach dem Ausschalten des Bildschirms weiter ausgeführt werden.
Sinnvoll für Huawei, aber leider für mich sieht es so aus, als wäre es Opt-In, dh Apps sind standardmäßig deaktiviert und Sie müssen sie manuell eingeben. Dies ist kein Showstopper, da ich Benutzer in einer FAQ oder in gedruckter Form beraten kann Dokumentation über das Update, aber ich habe kürzlich Tinder installiert (zu Forschungszwecken!) und festgestellt, dass es automatisch in die geschützte Liste aufgenommen wurde.
Weiß jemand, wie ich das für meine App machen kann? Ist es eine Einstellung im Manifest? Ist es etwas, das Huawei für Tinder aktiviert hat, weil es eine beliebte App ist?
quelle
Antworten:
quelle
ComponentName("com.asus.mobilemanager","com.asus.mobilemanager.autostart.AutoStartActivity"));
sp.edit().putBoolean("protected",true).commit();
seit ich verstehe, ändern Sie dort den Wert in "geschütztes Recht"?Das Manifest enthält keine Einstellung, und Huawei hat Tinder aktiviert, da es sich um eine beliebte App handelt. Es gibt keine Möglichkeit festzustellen, ob Apps geschützt sind.
Auf jeden Fall habe ich
ifHuaweiAlert()
inonCreate()
eine zeigenAlertDialog
:quelle
+1 für Pierre für seine großartige Lösung, die für mehrere Gerätehersteller (Huawei, asus, oppo ...) funktioniert.
Ich wollte seinen Code in meiner Android-App verwenden, die in Java ist. Ich habe meinen Code von den Antworten von Pierre und Aiuspaktyn inspiriert .
}}
Fügen Sie die folgenden Berechtigungen zu Ihrem hinzu
Android.Manifest
Ich hoffe das hilft jemandem.
quelle
Lösung für alle Geräte (Xamarin.Android)
Verwendung:
Fügen Sie die folgenden Berechtigungen zu Ihrem hinzu
Android.Manifest
Um die Aktivität des hier nicht aufgeführten Geräts zu ermitteln, verwenden Sie einfach die folgende Methode, um die richtige Aktivität zu finden, die für den Benutzer geöffnet werden soll
C #
Java
Beim Start ausführen und die Protokolldatei durchsuchen, einen Logcat-Filter hinzufügen
TAG
vonbrand.activities
Beispielausgabe:
Der Komponentenname lautet also:
Wenn die Aktivität eine Berechtigung daneben hat, ist der folgende Eintrag in
Android.Manifest
erforderlich, um die Aktivität zu öffnen:Kommentieren oder bearbeiten Sie die neue Komponente in dieser Antwort. Alle Hilfe wird mir sehr geschätzt.
quelle
Ich verwende die @ Aiuspaktyn-Lösung, bei der der Teil fehlt, in dem erkannt wird, wann der Dialog beendet wird, nachdem der Benutzer die App als geschützt festgelegt hat. Ich verwende einen Dienst, um zu überprüfen, ob die App beendet wurde oder nicht, und um zu überprüfen, ob sie vorhanden ist.
quelle
Mit dieser Bibliothek können Sie den Benutzer zu geschützten Apps navigieren oder automatisch starten:
AutoStarter
Wenn das Telefon die Autostart-Funktion unterstützt, können Sie dem Benutzer einen Hinweis zum Aktivieren Ihrer App in diesen Apps anzeigen
Sie können mit dieser Methode überprüfen:
Um den Benutzer zu dieser Seite zu navigieren, rufen Sie einfach Folgendes auf:
quelle
PowerMaster -> AutoStart -> Finden Sie Ihre App im blockierten Bereich und erlauben Sie
quelle