0
嗨我从相机插入图像(拍照)到MediaStore.Images.Media数据存储。显示最后图片
有谁知道我可以怎样去显示最后拍摄的照片?
我用过Uri image = ContentUris.withAppendedId(externalContentUri,45);显示来自数据存储的图像,但显然45不是正确的图像。
我尝试将以前活动(相机)中的信息传递给显示活动,但我假设由于照片回调是其自己的线程,该值永远不会被设置。照片代码如下
Camera.PictureCallback photoCallback =新Camera.PictureCallback(){
public void onPictureTaken(byte[] data, Camera camera) {
// TODO Auto-generated method stub
FileOutputStream fos;
try
{
Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
fileUrl = MediaStore.Images.Media.insertImage(getContentResolver(), bm, "LastTaken", "Picture");
if(fileUrl == null)
{
Log.d("Still", "Image Insert Failed");
return;
} else
{
picUri = Uri.parse(fileUrl);
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, picUri));
}
}
catch(Exception e)
{
Log.d("Picture", "Error Picture: ", e);
}
camera.startPreview();
}
};
肯定最后拍摄的图像,你仍然会有用于保存数据的文件流吗? – thecoshman 2010-03-31 09:40:08
fileURL指向文件 - 但是,此方法在其自己的线程中调用camera.takePicture(shutterBack,null,photoCallback); 所以fileURL似乎永远不会返回一个值(总是空)我已经把主线程休眠并在while循环中保存它,希望它有一个值 - 但它似乎永远不会发生在主线程中。 – Steve 2010-03-31 10:21:02