"Machen Sie ein Foto und präsentieren Sie es" im Hochformat auf Samsung Galaxy S

8

Ich versuche, einfach ein Foto zu machen und es in einem ImageView mit meiner Samsung Galaxy s zu präsentieren. es funktioniert gut, wenn ich es auf Landschaft mache, aber nicht auf Porträt. Ich bekomme keinen Fehler oder Ausnahmefehler - ich bekomme einfach nichts ... Es gibt viele Fragen zu diesem Thema und es scheint problematisch zu sein (etwas über die Kameraausrichtung), aber ich finde nicht die endgültige Lösung für ein einfaches " mach ein Foto und präsentiere es "Code". Hier ist mein (problematischer) Code, der nicht funktioniert:

%Vor%

}

Ich brauche nur einen Code, der funktioniert (auf jedem Gerät) oder eine Fehlerbehebung für meinen Code ... Danke.

    
yehudahs 01.09.2012, 12:09
quelle

4 Antworten

2

Der Grund dafür, dass onCreate() aufgerufen wird, liegt darin, dass beim Aufrufen der Kameraaktivität während der Hochformatausrichtung die Ausrichtung geändert und Ihre vorherige Aktivität zerstört wird. Nach dem Beenden von onActivityResult() wird Ihre Aktivität neu erstellt.

Eine Lösung für dieses Problem besteht darin, das Manifest so einzustellen, dass Änderungen bei der Änderung der Ausrichtung ignoriert werden. Dies können Sie folgendermaßen tun:

%Vor%

Wenn Sie API-Starts mit Level 13 verwenden, können Sie screenSize für das Manifest configChanges berücksichtigen.

    
dtheo 21.11.2012 22:29
quelle
1

Ich kann nur einen Hack für dieses Problem vorschlagen. Speichern Sie Ihre Ergebnisse in den freigegebenen Einstellungen in onActivityResult() und während onCreate den Inhalt von den gemeinsamen Einstellungen laden. Ich weiß, dass dies eine schlechte Lösung ist, aber das wird dich weiterbringen, bis du eine bessere Antwort findest. Und vergiss nicht, deine gemeinsamen Einstellungen zu löschen, wenn du fertig bist, sonst wird deine Aktivität immer mit alten Daten initialisiert.

    
ashutosh 08.09.2012 20:29
quelle
1

Probieren Sie den folgenden Code .. es funktionierte für mich mit Samsung Galaxy S2 Fügen Sie den folgenden Code in onActivityResult ()

%Vor%     
Software Sainath 09.04.2013 06:45
quelle
0

Es ist einfach, die Bildausrichtung zu erkennen und die Bitmap zu ersetzen:

%Vor%

Um zu vermeiden, dass große Bilder nicht gespeichert werden, empfehle ich Ihnen, das Bild mit folgendem Befehl neu zu skalieren:

%Vor%

Es ist nicht möglich, ExifInterface zu verwenden, um die Orientierung zu erhalten, da ein Problem mit Android OS besteht: Ссылка

    
Felix 13.02.2014 11:37
quelle

Tags und Links