照相機回調管理類: 供自己參考
public class CameraSelectManager {
private static final String CAMERA_TEMP_NAME = “cameratemp.jpeg” ;
public static final String CMAERA_FILE_BASEPATH = MainActivity.this.getExternalCacheDir()+File.separator+”hexin”
+File.separator;
private static CameraSelectManager mInstance ;
private OnSelectCameraCallBack mImageCallBack ;
private CameraSelectManager(){}
private static CameraSelectManager getInstance(){
if(mInstace == null){
mInstance = new CameraSelectManager();
}
return mInstance;
}
public void requestSystemCameraSelect(Activity context){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.addCategory(Intent.CATEGORY_DEFAULT);
File imageFile = new File(CAMERA_FILE_BASEPATH+CAMERA_TEMP_NAME);
if(imageFile.exists()){
imageFile.delete();
}
try{
imageFile.createNewFile();
}catch(IOException e){
e.printStackTrace();
}
Uri uri = Uri.fromFile(imageFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);
context.startActivityForResult(intent,101);// 啓動照相機,並傳入識別的code
}
public void setOnSelectCameraCallBack(){
mImageCallBack = callBack ;
};
public void notifyImageReceivedSuccess(){
if(mImageCallBack != nul){
mImageBack.onNotifyCameraReceivedSuccess(CAMERA_FILE_BASEPATH+CAMERA_TEMP_NAME);
}
};
public void notifyImageReceivedFail(){
if(mImageCallBack != null){
mImageCallBack.onNotifyCameraReceivedFail();
}
}
// 通知接口
public interface OnSelectImageCameraCallBack(){
public void onNotifyCameraReceivedSuccess(String imageName);
public void onNotifyCameraReceivedFail();
}
}