2015-06-03 27 views
7

Grundsätzlich möchte ich VIDEO PIRACY SCHUTZverhindern, dass andere Anwendungen Form Erfassung/Aufnahme Bildschirm

Meine Anwendung Video-Streaming hat, und ich möchte mein Video schützen, andere Streaming-Anwendungen. Andere Anwendungen sollten den Bildschirm nicht aufnehmen können, während mein Video abgespielt wird. Irgendwelche Vorschläge wie kann ich das erreichen .. Vielen Dank im Voraus.

Antwort

18

Sie können Bildschirm sichern Funktionalität Erfassen von FLAG_SECURE in Ihre Aktivität Zugabe wie folgt

getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE); 

prüfen this Link, der sagt

Bildschirm erfassen und teilen

Mit Android 5.0 können Sie mit den neuen android.media.projection-APIs Funktionen zur Bildschirmaufzeichnung und Bildschirmfreigabe von zu Ihrer App hinzufügen. Diese Funktion ist beispielsweise nützlich, wenn Sie die Bildschirmfreigabe in einer Videokonferenz-App aktivieren möchten.

Die neue createVirtualDisplay() -Methode ermöglicht die App den Inhalt des Hauptbildschirms (die Standardansicht) in eine Oberfläche Objekt, das Ihre Anwendung über das Netzwerk senden kann dann zu erfassen. Die API nur ermöglicht Erfassung nicht sicheren Bildschirm Inhalt, und nicht System Audio. Um die Bildschirmaufzeichnung zu starten, muss Ihre App zuerst die Berechtigung des Benutzers anfordern, indem Sie ein Bildschirmaufzeichnungsdialogfeld starten, das eine Absicht verwendet, die von der createScreenCaptureIntent() - Methode abgerufen wird.

auch Dokumentation zu this link sagt, dass

Fenster Flagge: den Inhalt des Fensters so sicher behandeln, es verhindert von in Screenshots erscheinen oder auf nicht sicheren Displays betrachtet wird.

Above Lösung wird sicherlich Anwendungen verhindern Video Ihrer App erfassen

+0

Ich weiß, dass diese Lösung für die Aufnahme von Screenshot funktioniert.Aber funktioniert es auch für Videoaufnahmen? – Ajay

+0

@Ajay: Entweder das funktioniert oder was Sie wollen wird nicht unterstützt. Also, probier es selbst aus. – CommonsWare

+0

@CommonsWare: Danke! Wird dies aktualisieren. – Ajay

0

Versuchen Zugabe dies in Ihrem Activity,

getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE); 
+0

Ich weiß, dass diese Lösung für die Aufnahme von Screenshot funktioniert. Aber funktioniert es auch für Videoaufnahmen? – Ajay

+0

Der obige Code blockiert alle Arten von Bildschirmaufnahmen, einschließlich Videoaufnahmen. – siriscac

+0

Sind Sie sicher? Hast du praktische Erfahrung? – Ajay

4
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE); 

Schreib oben setContenView();

Es verhindert nur Schnappschussaufnahme. Und verhindert auch Videoaufnahmen. Aber für Video-Capture-Geräte spezifisch.

+0

Haben Sie eine Idee, wie Videoaufnahmen für alle Geräte zu verhindern? – techniqez

+0

funktioniert nicht in Android 7.0 mit Landscape-Modus –