1. 程式人生 > >Android 儲存圖片到系統相簿

Android 儲存圖片到系統相簿

if(SDCardUtils.hasSDCard()){

if(b.containsKey("photo")){

byte[] b1 = b.getByteArray("photo");

if(b1 != null){

Bitmap bmp = BitmapFactory.decodeByteArray(b1, 0, b1.length);

try {

ContentResolver cr = mContext.getContentResolver();

String    url  = MediaStore.Images.Media.insertImage(cr, bmp, fileName, "");

Toast.makeText(mContext, "儲存成功!", Toast.LENGTH_SHORT).show();

}catch(Exception e){

e.printStackTrace();

}

}else{

Toast.makeText(mContext, "儲存失敗!  沒有圖片", Toast.LENGTH_SHORT).show();

}

}else{

Toast.makeText(mContext, "儲存失敗!  沒有圖片", Toast.LENGTH_SHORT).show();

}

return true;

}else{

Toast.makeText(mContext, "儲存失敗!  請插入儲存卡", Toast.LENGTH_SHORT).show();

return false;

}

發現一個問題,就是縮圖不可以及時更新,每一次開機重啟之後才可以更新過來~~~ 被測試當了一個bug

搜尋、思考、觀察,最後加入下面的程式碼解決

//解決在部分機器快取更新不及時問題

getContext().sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));