Es ist eine App Schließfach Anwendung, die ich arbeite. Es sperrt alle Apps im Android-Handy. Was ich tun möchte, ist, dass, wenn eine gesperrte App im Android ausgeführt wird, meine Anwendung die App stoppen und ein Passwort oder einen Musterbildschirm anzeigen soll. Wenn das Muster korrekt ist, sollte es die App ausführen, ansonsten sollte sie deaktiviert werden. Also, ich wollte fragen, ob ich den Hintergrunddienst dafür nutzen soll oder sollte ich den Rundfunkempfänger benutzen? Ich weiß nicht, ob die App Broadcast sendet, wenn sie zum ersten Mal läuft. Und wenn ich den Hintergrund-Service verwende, wird es ausgeführt, wenn der Android neu gestartet wird? Ich meine, ohne die Anwendung erneut auszuführen? Bitte hilf mir, damit ich es gut verstehe. Vielen Dank.Hintergrund Service oder Broadcast Empfänger
0
A
Antwort
1
Hintergrund-Service ist wahrscheinlich die bessere Wahl für diese Art von Anforderungen. Und ja, Sie können den Hintergrunddienst starten, wenn das Telefon neu gestartet wird, indem Sie BroadcastReceiver
verwenden. Dies ist, wie:
Stellen Sie sicher, diese Berechtigung haben:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Dann in application
Tag, haben diese Empfänger:
<receiver android:name=".MyBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Dann schließlich die BroadcastReceiver
:
public class MyBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent intent = new Intent(context, MyService.class);
context.startService(intent);
}
}
}
Auf diese Weise wird Ihr Dienst bei jedem Neustart des Geräts gestartet.
Hoffe, das hilft.
0
verwenden muß android.permission.PACKAGE_USAGE_STATS hinzufügen zu manifestieren, und wenn Ihre Android-Version ist 5.0 und höher dieser Code ausführen Verwendung stat Erlaubnis zu beantragen:
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivity(intent);
Verwandte Themen
- 1. Broadcast-Empfänger auf App geschlossen (oder im Hintergrund)
- 2. Broadcast-Empfänger in einem Service funktioniert nicht
- 3. Android Start-Service mit Broadcast-Empfänger
- 4. So erkennen Sie Schlüsselereignisse im Service- und Broadcast-Empfänger
- 5. Broadcast-Empfänger funktioniert nicht?
- 6. Benachrichtigung in Broadcast-Empfänger
- 7. Mein Broadcast-Empfänger empfängt keine Broadcasts von Local Service
- 8. bekommen NullpointerException beim Daten von Service an Broadcast Empfänger
- 9. Android Broadcast Empfänger + statische Variable
- 10. Android WhatsApp Call Start Broadcast Empfänger
- 11. Verwenden Android-Broadcast-Empfänger Akkulaufzeit?
- 12. Aktivität Hören für Broadcast-Empfänger
- 13. Update TextView in Broadcast-Empfänger
- 14. 2 MainActivities nach Broadcast-Empfänger
- 15. Broadcast-Empfänger funktioniert nicht Broadcastmanager
- 16. wie eine Datei mit Broadcast-Empfänger herunterladen?
- 17. Android Broadcast Empfänger: Ignorieren für eine bestimmte Zeit
- 18. Wie funktioniert ein Broadcast-Empfänger zwischen Aktivitäten?
- 19. Können inaktive Broadcast-Empfänger wiederverwendet werden?
- 20. Android Empfangen von Nachrichten außer Broadcast-Empfänger
- 21. Android Zeitplan wiederholende Alarme mit Broadcast-Empfänger
- 22. Android-Broadcast-Empfänger keine Absicht erhalten
- 23. Broadcast-Empfänger funktioniert nicht am Telefon
- 24. SMS-Broadcast-Empfänger funktioniert nicht nach Neustart
- 25. Übergeben Sie Drehfeld-Wert an Broadcast-Empfänger
- 26. Der zweite BroadCast-Empfänger wird nicht ausgeführt
- 27. Android Update Widget von Broadcast Empfänger
- 28. Broadcast-Empfänger wird kein Kameraereignis empfangen
- 29. Broadcast Empfänger weiter nach der Anwendung verlassen
- 30. Android 6.0 Broadcast Empfänger empfangen nicht BOOT_COMPLETE
Danke für die Antwort. Ich schätze das sehr. Ich wollte nur noch eine Frage stellen, wenn Sie mir helfen können, herauszufinden, wie man den Namen der aktuell laufenden Anwendung bekommt? Weil ich keine gute Lösung finden konnte. –
Verwenden Sie diese Lib, um aktuelle laufende Anwendung zu erhalten: https://github.com/ricvalerio/foregroundappchecker –
Vielen Dank @MayVaBao –