Ich mache eine Android-App, und ich möchte die Kamera darin verwenden. Ich habe den Code richtig implementiert, aber das Problem, mit dem ich konfrontiert bin, ist, dass das Bild, das ich erhalte, zweimal gespeichert wird, eines horizontal und das andere vertikal. Das ist ein seltsames Problem und ich bin nicht in der Lage es herauszufinden. Das Folgende ist der Code, den ich verwende.Android Kamera Speichern von Bildern sowohl im Hoch-und Querformat
AlertDialog.Builder builder = new AlertDialog.Builder(
FaceconActivity.this);
builder.setTitle("Share a Photo");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if (item == 0) {
values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, "New Picture");
values.put(MediaStore.Images.Media.DESCRIPTION,
"From your Camera");
imageUri = getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
values);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, PICTURE_RESULT);
} else if (item == 1) {
try {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(
Intent.createChooser(intent, "Select Picture"),
PICK_IMAGE);
} catch (Exception e) {
Toast.makeText(getApplicationContext(), e.getMessage(),
Toast.LENGTH_LONG).show();
Log.e(e.getClass().getName(), e.getMessage(), e);
}
}
}
});
builder.show();
und
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case PICK_IMAGE:
if (resultCode == Activity.RESULT_OK) {
Uri selectedImageUri = data.getData();
try {
// OI FILE Manager
String filemanagerstring = selectedImageUri.getPath();
// MEDIA GALLERY
String selectedImagePath = getPath(selectedImageUri);
if (selectedImagePath != null) {
filePath = selectedImagePath;
} else if (filemanagerstring != null) {
filePath = filemanagerstring;
} else {
Toast.makeText(getApplicationContext(), "Unknown path",
Toast.LENGTH_LONG).show();
Log.e("Bitmap", "Unknown path");
}
if (filePath != null) {
decodeFile(filePath);
} else {
bitmap = null;
}
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "Internal error",
Toast.LENGTH_LONG).show();
Log.e(e.getClass().getName(), e.getMessage(), e);
}
}
break;
case PICTURE_RESULT:
if (requestCode == PICTURE_RESULT)
if (resultCode == Activity.RESULT_OK) {
try {
thumbnail = MediaStore.Images.Media.getBitmap(
getContentResolver(), imageUri);
imageurl = getRealPathFromURI(imageUri);
decodeFile(imageurl);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Kann jemand mir bitte helfen ??
-Danke in advace
nicht mögen ich glaube, ich war mit Blick auf Dieses Problem früher. Kann es wegen der Android-Aktualisierung sein. Ich aktualisiere meine Zelle von 2.3.4 auf 2.3.6. – Antrromet
Update: Es scheint, dass es ein Geräteproblem war, weil der gleiche Code in anderen Geräten einwandfrei funktionierte. – Antrromet