android 手機拍照返回 Intent==null 以及intent.getData==null

 

手機拍照第一種狀況;
private void takePicture(){測試

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
SimpleDateFormat timeStampFormat = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss");
String filename = timeStampFormat.format(new Date());
ContentValues values = new ContentValues();
values.put(Media.TITLE, filename);
 photoUri =getActivity().getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(intent, TAKE_PHOTO);spa

}orm

public void onActivityResult(int requestCode, int resultCode, Intent data) {圖片

data 未空,注意data 是指Intent    get

緣由:即指定了目標uri   若是指定了目標uri,data就沒有數據,若是沒有指定uri,則data就返回有數據!it

可根據 photoUri全局變量獲取URI;form

}變量

 

 

手機拍照第二種狀況;
private void takePicture(){file

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PHOTO);request

}

public void onActivityResult(int requestCode, int resultCode, Intent data) {

data 非空,注意data 是指Intent   

 

Uri uri=Intent.getData();

發現依舊返回null;因爲測試機無SD卡 ,緣由不詳,請知道的指教

解決方法:if(data.hasExtra("data")){

Bitmap bitMap = data.getParcelableExtra("data");獲得圖片

}

 

 

}

相關文章
相關標籤/搜索