0

写真を撮り、その画像を電話ギャラリーに保存するボタンの意図を正しく取得するにはどうすればよいですか? これまでのところ、次のようなケース構造のボタンがあります。

else if (v.getId() == R.id.button5)//カメラ

        {

                Intent c  = new Intent( MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(c,1);





        }

その画像をギャラリーに保存しているだけなので、私の onActivityResult はどのように見えるべきですか?

bundle extras = data.getExtras(); として何かを使用する必要がありますか?

4

2 に答える 2

0

この答えは、あなたの問題の解決策になるかもしれません。しかし、data.getExtras() は場合によっては null を返します。残念ながら、これらのケースのすべてをまだ検出していません。たとえば、data.getExtras() は android 2.3 HTC Evo 3D では正常に動作しましたが、android 2.3 Samsung Galaxy SII では null を返しました。お役に立てれば。

于 2013-04-27T20:14:24.010 に答える
0

まず、次のように startActivityForResult() メソッドを呼び出す必要があります。

Uri imageFileUri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new  ContentValues());
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageFileUri);
startActivityForResult(i, CAMERA_RESULT);

また、startActivityForResult() メソッドの実装では、次のように記述する必要があります。

// Save the name and description of an image in a ContentValues map.
ContentValues contentValues = new ContentValues(3);
contentValues.put(Media.DISPLAY_NAME, "This is a test title");
contentValues.put(Media.DESCRIPTION, "This is a test description");
contentValues.put(Media.MIME_TYPE, "image/jpeg");
// Add a new record without the bitmap, but with some values set.
// insert() returns the URI of the new record.
Uri imageFileUri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI,contentValues);
于 2013-04-27T20:18:36.187 に答える