preview 에서 사진을 찍고 저장을 한 다음 갤러리에 바로 노출이 되어야하는데 나오지를 않아서

sendBroadcast 를 사용을 했습니다

아래 코드는 preview 코드 안에서 sendBroadcast를 구현을 했는데 context 부분에서 에러가 발생합니다

어떤 것이 문제죠?

 

public class CameraView extends SurfaceView implements Callback, PictureCallback {
private Uri mImageCaptureUri;
private SurfaceHolder holder;
private Camera camera;
private File path;

public CameraView(Context context) {
super(context);
holder=getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
// TODO Auto-generated constructor stub
}

@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
try{
camera=Camera.open();
camera.setPreviewDisplay(holder);
}catch(Exception e){

}
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
// TODO Auto-generated method stub
Camera.Parameters parameters = camera.getParameters();
parameters.setPreviewSize(90,90);
camera.setParameters(parameters);

camera.startPreview();
}



@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
camera.setPreviewCallback(null);
camera.stopPreview();
camera.release();
camera=null;
}
public boolean onTouchEvent(MotionEvent event){
if(event.getAction()==MotionEvent.ACTION_DOWN){
camera.takePicture(null, null,this);

}
return true;
}


public void onPictureTaken(byte[] data, Camera camera) {
// TODO Auto-generated method stub
try{
data2sd(getContext(),data,"test.jpg");

}catch(Exception e)
{
android.util.Log.e("","" +e.toString());
}
camera.startPreview();
}

private void data2sd(Context context, byte[]w,String filename)throws Exception{
path = new File("/mnt/sdcard/" + File.separator + "wrong");

if (!path.exists()) path.mkdir();


String url = "tmp_" + String.valueOf(System.currentTimeMillis()) + ".jpg";

FileOutputStream fos=null;
try{

fos=new FileOutputStream("/mnt/sdcard/wrong/"+url);
fos.write(w);
galleryAddPic(path); //여기서 path 를 넘겨주고
fos.close();
}catch(Exception e){
if(fos!=null)
fos.close();
throw e;
}

}


private void galleryAddPic(File f) {
// TODO Auto-generated method stub
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
context.sendBroadcast(mediaScanIntent); // 이부분에서 context 부분에서error 가 발생합니다

}
};