Probier das mal. Das ist eine stark abgespeckte Variante von dem Code mit dem ich das immer mache. Bisher habe ich noch keine Beschwerden gehört. Ob es auf ganz bestimmten Geräten läuft oder nicht kann ich Dir aber nicht sagen.
Wenn das nicht klappt dann haben meine Apps auf den betreffenden Geräten ebenfalls ein Problem. Das wiederum juckt mich mittlerweile nicht mehr. Die Android Geräte sind derart zersplittert - ich kann mich wirklich nicht mehr um das letzte China-DingsBums kümmern - auch wenn es Samsung heißt ;-)
Aufruf:
1ContentValues values = new ContentValues();
2 values.put(MediaStore.Images.Media.DESCRIPTION, "Irgendeine Beschreibung");
3 values.put(MediaStore.Images.Media.TITLE, "Irgendein Titel");
4 uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
5
6 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
7 intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
8 intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
9 startActivityForResult(intent, 1);
Ergebnis:
1@Override
2protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
3 switch (requestCode) {
4 case 1:
5 if (resultCode == RESULT_OK) {
6 Cursor cursor = managedQuery(uri,
7 new String[] {
8 MediaStore.Images.Media._ID,
9 MediaStore.Images.Media.DATA,
10 MediaStore.Images.ImageColumns.ORIENTATION
11 },
12 null,
13 null,
14 null);
15 if (cursor != null) {
16 if (cursor.moveToFirst()) {
17 File file = new File(cursor.getString(cursor
18 .getColumnIndexOrThrow(MediaStore.Images.Media.DATA)));
19 // Hier ist Dein file - kopiere es wenn Du es an anderer Stelle haben willst zum Beispiel mit FileUtils.copyFile aus der Apache Library
20 }
21
22 cursor.close();
23 }
24 }
25
26 break;
27 default:
28 super.onActivityResult(requestCode, resultCode, intent);
29 }
30}
Anzeigen:
1Bitmap bitmap = BitmapFactory.decodeFile("Die Datei");
2 imageView.setImageBitmap(bitmap);
— geändert am 19.12.2012, 10:04:46
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.