1

私はこのコードを使用しています:

private static final int TAKE_PHOTO_CODE = 1;  

private void takePhoto(){  
  final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
  intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(getTempFile(this)) );   
  startActivityForResult(intent, TAKE_PHOTO_CODE);  
}  

private File getTempFile(Context context){  
  //it will return /sdcard/image.tmp  
  final File path = new File( Environment.getExternalStorageDirectory(), context.getPackageName() );  
  if(!path.exists()){  
    path.mkdir();  
  }  
  return new File(path, "image.tmp");  
}  

@Override  
protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  if (resultCode == RESULT_OK) {  
    switch(requestCode){  
      case TAKE_PHOTO_CODE:  
        final File file = getTempFile(this);  
        try {  
          Bitmap captureBmp = Media.getBitmap(getContentResolver(), Uri.fromFile(file) );  
          // do whatever you want with the bitmap (Resize, Rename, Add To Gallery, etc)  
        } catch (FileNotFoundException e) {  
          e.printStackTrace();  
        } catch (IOException e) {  
          e.printStackTrace();  
        }  
      break;  
    }  
  }  
}  

そして、私はこのエラーが発生しています:

method Media.getBitmap(ContentResolver, Uri) is undefined for type MediaStore.Audio.Media

これが問題である場合、私のアクティビティは MapsActivity を拡張しています。

手伝って頂けますか?

4

1 に答える 1

1

インポートしたクラスを確認してください。あなたがインポートしたと思います

import android.provider.MediaStore.Audio.Media;

代わりにインポート

import android.provider.MediaStore.Images.Media;
于 2013-02-16T11:08:03.660 に答える