Kamera Vorschau schwarz in Android 7

8

Ich verwende aus Gründen der Abwärtskompatibilität eine direkte Kamera-API . Die Kameraansicht selbst wird leicht von einer Bildansicht überlagert und meine Oberfläche ändert dies:

%Vor%

funktioniert auf allen älteren Geräten. Ich habe die Vorschaugröße in surfaceCreated auf die größte verfügbare Größe festgelegt. Aber auf Android 7.1 ist es plötzlich schwarz (auf einem Nexus 6 und Moto X Play, wahrscheinlich anderen - also auf verschiedenen Geräten). Die SurfaceView selbst ist in Layout Inspector ( willNotDraw = true ), aber VISIBLE (und hardwarebeschleunigt) ausgegraut. Seltsamerweise kann ich immer noch Fotos machen, Ereignis ohne Vorschau, und die Daten im Vorschau-Callback enthalten ein Bild.

Zur gleichen Zeit bekomme ich das folgende Protokoll

%Vor%

Hat jemand anderes ein komplett schwarzes Bild in Android 7 erlebt? Gibt es irgendwelche einfachen Fixes? (Wie den Inhalt von Daten direkt zeichnen?)

    
domenukk 11.12.2016, 21:20
quelle

3 Antworten

3

Schwarzer Bildschirm wird angezeigt, da Sie keine Kameraberechtigung für Android 7-Gerät haben

Gehe zu Einstellungen- & gt; apps- & gt; wähle deine App- & gt; Berechtigungen- & gt; Aktiviere Kamera-Erlaubnis und überprüfe

Sie können dies auch in Ihrem Code behandeln

Fügen Sie Ihrem Manifest die folgende Berechtigung hinzu

%Vor%

Wenn Sie um Erlaubnis fragen, können Sie so anrufen.

%Vor%

Um die Erlaubnis für den Zugriff auf die Kamera zu prüfen

%Vor%

Nun der Rückruf, wenn der Benutzer eine Aktion ausgeführt hat.

%Vor%

Hier ist ein vollständiges Beispiel

%Vor%     
apk 26.03.2017 09:05
quelle
0

Wie @apk schon gesagt hat, wird ein schwarzer Bildschirm angezeigt, weil Sie keine Berechtigungen in Ihrem Code bearbeiten. Wenn Sie mit targetSdkVersion 23 (und höher) arbeiten, müssen Sie zur Laufzeit Benutzerrechte anfordern.

Der vorherige Kommentar erklärt Ihnen, wie Sie ihn direkt über die SDK-Vorgänge beheben können, aber ich bevorzuge eine große Third-Party-Bibliothek für diese Fälle: Karumi / Dexter

    
ma_morenoa 29.03.2017 14:54
quelle
0

Überprüfen Sie die Laufzeitberechtigungen für Android-Kameras

Wenn die Erlaubnis nicht erlaubt ist, zeigt die Kamera einen leeren Bildschirm.

für weitere Details:

Ссылка

    
Ajay Venugopal 31.03.2017 10:07
quelle

Tags und Links