2016-07-28 14 views
0

meine App ein Foto mit Absicht zu machen. Wenn ich mit Hochformat nehme, bekomme ich das Bild. aber wenn ich mein Gerät drehe und mit Querformat nehme, habe ich einen Fehler bekommen. sogar die Fehlermeldung zeigt auf (vielleicht) die falsche Zeile.Intent Kamera von Querformat Ausrichtung Ergebnis Fehler

offen Kamera:

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
if (takePictureIntent.resolveActivity(mainActivity.getPackageManager()) != null) { 
    startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); 
} 

auf Aktivitätsergebnis:

Bundle extras = data.getExtras(); 
imageBitmap = (Bitmap) extras.get("data"); 
ivImage.setImageBitmap(imageBitmap); 

gibt Ergebnis wie erklärt. dann versuch ich es nochmal mit anderem code.
offen Kamera:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); 
startActivityForResult(intent, REQUEST_IMAGE_CAPTURE); 

auf Aktivitätsergebnis:

BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inSampleSize = 4; 
imageBitmap = BitmapFactory.decodeFile(fileUri.getPath(), options); 
ivImage.setImageBitmap(imageBitmap); 

hat noch gleiches Ergebnis.
nach der Suche nach einer Lösung, sagte sie über save Instanz. i dies dann setzen (i Fragment verwenden)

@Override 
public void onSaveInstanceState(Bundle outState) { 
    outState.putParcelable("file_uri", fileUri); 
    super.onSaveInstanceState(outState); 
} 

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    if (savedInstanceState != null) 
     fileUri = savedInstanceState.getParcelable("file_uri"); 
    super.onActivityCreated(savedInstanceState); 
} 

immer noch nicht funktioniert und eine der Fehlermeldung zeigt auf

super.onCreate(savedInstanceState); 

in onCreate (Bundle savedInstanceState) Funktion

jemand wissen, warum? oder vielleicht ein anderer alternativer Code mit Kamera.

Update, Fehlermeldung:

Könnte finden Klasse 'android.transition.Transition' nicht, von Verfahren mypackagename.fragment.HomeFragment.access referenzierten $ Super

und Warnmeldung

kann die virtuelle Methode 949 nicht auflösen: Landroid/Grafik/Bitmap; .getAllocationByteCount

+0

Add 'android: screenOrientation = "Portrait"' innerhalb

+0

Wenn Sie Ihre App dann drehen möchten [versuchen, dies] (http://stackoverflow.com/questions/17945130/prevent-activity-restarting-when-orientation-changes) –

+0

können Sie den Stacktrace buchen? – himanshu1496

Antwort

0

In folgenden Code in Ihrem Manifest

<activity 
    android:name=".ActivityName" 
    android:configChanges="orientation|screenSize|keyboardHidden"/> 
+0

Ich habe, aber immer noch nicht funktioniert –

Verwandte Themen