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