0
我想捕捉照片照片在可能的應用程序... 這是我有: 照片被保存,但在活動結果上,我得到空點異常。 我可能會錯過什麼?Android照片cature error
private Uri getImgUri() {
File filePath= new File(Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_PICTURES),APP_ALIAS);
if(!filePath.exists()){
if(!filePath.mkdirs())
return null;
}
String timeStamp= new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String path=filePath.getPath()+File.separator+"_IMG"+timeStamp+".jpg";
File file=new File(path);
return Uri.fromFile(file);
}
private void startGetPicFromCam() {
Intent intent= new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri uri= getImgUri();
intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);
startActivityForResult(intent,MEDIA_CAPTURE_RESULT_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// super.onActivityResult(requestCode, resultCode, data);
if(requestCode==MEDIA_CAPTURE_RESULT_CODE){
if(resultCode==RESULT_OK){
try{
if(data.getData()!=null)
Toast.makeText(this,"saved to "+data.getData(),Toast.LENGTH_LONG).show();
else
Toast.makeText(this,"saved to path",Toast.LENGTH_LONG).show();
}
catch(Exception e){
Toast.makeText(this,e.getMessage(),Toast.LENGTH_LONG).show();
}
}
}
}
我使用的代碼:startActivityForResult(intent,MEDIA_CAPTURE_RESULT_CODE); –
你在調試器中運行嗎?如果是這樣,對於較舊版本的Android操作系統,這會阻止訪問可能會導致您的空ptr的SD卡。 – droideckar
@VictorOdiah我編輯了我的答案。抱歉,我第一次閱讀您的問題時完全迷惑,並且錯過了您使用MediaCapture過濾器的事實。 – Jonathan