Android Clickable Bildschirmtext

8

Ich war neugierig, ich habe diese App neulich gesehen, die es erlaubt hat, andere Apps zu öffnen und bestimmte Funktionen automatisch für dich einzurichten. Ich habe erkannt, dass es eine Bildschirm-Klick-Funktion irgendeiner Art verwenden muss, aber ich kann keine Dokumentation für so etwas finden. Wenn wir zum Beispiel wissen, dass der Text auf dem Bildschirm von der anderen App "Ready" ist, gibt es eine Möglichkeit, diesen Text zu lesen und vielleicht etwas zu tun:

%Vor%     
Jayce 04.07.2017, 00:49
quelle

3 Antworten

3

Ich habe das mit AccessibilityService gemacht. Es wird jedoch nur auf API-Ebene & gt; = 16 funktionieren.

Sie müssen AccessibilityService erweitern. Zum Beispiel erhält diese Klasse einen Text von USSD-Antworten und verwirft den Dialog.

%Vor%

Sie müssen den Accessibility Service im Manifest unter <application>

deklarieren %Vor%

Unter res/xml create accessibility_service_config.xml

%Vor%

Natürlich müssen Sie diesen Code Ihren eigenen Bedürfnissen anpassen.

Schließlich müssen Sie den Eingabehilfedienst manuell unter Einstellungen & gt; Barrierefreiheit in Android (oder bitten Sie den Benutzer, dies zu tun).

Lesen Sie mehr ... Entwickeln eines Accessibility Service

    
Abraham TS 26.07.2017, 14:14
quelle
3

Um dies von einer anderen App aus tun zu können, müssen Sie den Bildschirm erfassen und die Textposition mit dem Texterkennungsdienst ermitteln.

Wenn eine andere Anwendung aktiv ist, sollte Ihre Anwendung aktiv sein, um den Bildschirm erfassen zu können. Sie können also nur den Android-Dienst verwenden, der immer im Hintergrund funktioniert.

Um ScreenShot für Ihre Aktivität zu erfassen, benötigen Sie jedoch eine Ansicht Ihrer activity und welche nicht in Ihrer service vorhanden ist. Sie müssen also eine TimerTask erstellen, die Ihre Aktivität zu jeder Stunde aufruft und Ihr activity antwortet mit der aktuellen erscheinenden Ansicht und Sie können den Screenshot davon aufnehmen.

Oder Wenn Sie eine Bildschirmaufnahme Ihres aktuellen Gerätebildschirms (einer beliebigen Anwendung) machen möchten, dann müssen Sie root und framebuffer lesen, damit die Rohdaten des aktuellen Bildschirms angezeigt werden Konvertieren Sie es in Bitmap oder jede Bilddatei, die Sie in Ihrem Dienst tun können.

Kurz gesagt, kann es für gerootete Telefone möglich sein. Andernfalls können Sie keinen Screenshot von anderen Apps erstellen, wenn Sie nicht gerootet sind. Erlaubt nur Screenshots von Ihrer App zu machen.

Um den Bildschirm zu analysieren, ob "Ready" Text vorhanden ist oder nicht. Ihre Anwendung sollte gelebt / aktiviert werden, um den Bildschirm erfassen zu können.

    
ziLk 23.07.2017 10:35
quelle
0

Anstatt zu versuchen, Text zu lesen, benutze einen Broadcast-Empfänger und überprüfe bei jeder Übertragung die Textansichtslänge, wenn sie eingestellt ist, starte eine App oder mache, was immer du willst.

    
Thracian 24.07.2017 19:03
quelle

Tags und Links