Einige Geräte verfügen über zusätzliche Sicherheitsfunktionen und prüfen, ob eine App über andere Objekte zeigt, wenn ein Berechtigungsdialogfeld angezeigt wird.Bildschirm-Overlay erkannt - So umgehen Sie dies in einer Bildschirm-Overlay-App
Ich habe eine Sidebar-App, und meine App muss deaktiviert werden, bevor Benutzer einen Systemdialog akzeptieren können.
Fragen
- Wie soll ich diesen Fall behandeln?
- Gibt es eine Möglichkeit, nach einem Ereignis "Systemdialog gezeigt" zu sehen, damit ich meine Seitenleiste entfernen und ein "Systemdialog beendet", so dass ich weiß, kann ich mit meiner Sidebar-Overlay weitermachen? Ich weiß, dass es genug, um den Dienst zu beenden (Sie müssen nicht die Erlaubnis entfernen), so würde dies auch
EDIT
Eine Lösung Ich kann eine Lösung sein, denkt ist folgendes:
Verwenden Sie die AccessibilityService
, um aktuelle Vordergrund Apps/Ansichten zu überprüfen. Es kann ich Ereignisse überprüfen, die mir aktuelle Vordergrund Aktivitäten zeigen und sogar Blick ...
Meine Probleme:
- Ich weiß nicht, wie man eine Erlaubnis dort Dialog zu identifizieren.
- Zweitens zwingt mich, den Benutzer zu bitten, diese Erlaubnis zu bekommen (die ich vermeiden möchte, aber eine Lösung mit diesem Service zu haben, wäre schon eine Verbesserung für mich, weil einige Benutzer diese Erlaubnis meiner App bereits geben) Ich müsste dann alles fragen und den Grund erklären, mit dem ich leben kann).
Ich werde die Links überprüfen ... Meine App selbst schon manchmal macht eine Pause, wenn einige Benutzer der schwarzen Liste ausgewählt Apps stehen im Vordergrund, also beobachte ich dies über 'ActivityManager' (oder den neueren' AccessibilityService') sowieso schon ... Ich dachte, es könnte zumindest eine Lösung mit dem 'AccessibilityService' geben ... – prom85
@ prom85 Ja, es möglicherweise auch mit [AccessibilityService # getWindows()] (https://developer.android.com/reference/android/accessi bilityservice/ErreichbarkeitService.html # getWindows()), die der Dokumentation alle angezeigten Fenster zurückgibt. – Manu
Ich habe bereits eine Pause/Fortsetzen-Taste in der Benachrichtigung ... Und die aktuelle Vordergrund App/Ansicht ist kein Problem, noch, ich weiß nicht, wie Systemfenster zu identifizieren ... Ich habe einige zusätzliche Infos zu hinzufügen meine Frage bezogen sich auf die 'AccessibilityService'-Lösung ... – prom85