カメラ起動からのファイルパスがはいらない

592 views
Skip to first unread message

けっけ

unread,
Feb 2, 2012, 5:14:59 AM2/2/12
to Android-SDK-Japan
こんばんはけっけです。

現在Androidアプリを開発中でシステムからカメラを起動させて、取得したデータをパスファイルに入れたいのですが、うまくはいってくれません。
          File path;
          protected void onActivityResult(int requestCode, int
resultCode, Intent data) {

     // TODO Auto-generated method stub
     if(requestCode == REQUEST_CAMERA && resultCode ==
RESULT_OK) {
   try {
          Uri uri = data.getData();
String[] columns = { MediaStore.Images.Media.DATA };
Cursor c = getContentResolver().query(uri, columns, null,
null, null);
c.moveToFirst();
path = new File(c.getString(0));
c.close();
          }
インテントから帰ってきたときにここでpathになにもはいりません。
ギャラリーからの取得ではうまくいくのですが・・・
よろしくお願いします。

egg

unread,
Feb 2, 2012, 11:08:09 AM2/2/12
to android-...@googlegroups.com
けっけさん

江川と申します。
カメラの場合は、先にMediaStoreにinsertしてから、そのURIを使ってやり取りする方法が一般的だと思います。

final ContentValues cv = new ContentValues();
cv.put(MediaStore.Images.Media.TITLE, "test.jpg");
cv.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
final Uri imageUri =
getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
cv);
final Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, 1);

のような感じでカメラアプリへ飛ばし、戻って来たonActivityResultなどで上記imageUriの場所を参照すると、撮影された画像が得られると思います。


------------------------------------------
EGAWA Takashi

2012年2月2日19:14 けっけ <ub4.x23...@gmail.com>:

> --
> このメールは Google グループのグループ「Android-SDK-Japan」の登録者に送られています。
> このグループに投稿するには、android-...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-sdk-ja...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-sdk-japan?hl=ja からこのグループにアクセスしてください。
>

Reply all
Reply to author
Forward
0 new messages