調用系統相機
參考資料:Android–調用系統照相機拍照與攝像
使用Intent傳入固定的Action,調起系統相機
- android.media.action.IMAGE_CAPTURE:Intent的Action類型,從現有的相機應用中請求一張圖片
/**
* 調用系統相機
*/
@Override
public void invokeSystemCamera(String photoPath) {
//新建Intent,指定開啓系統相機的Intent
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//設置保存照片的路徑
File file = new File(photoPath);
Uri uri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
//發送Intent,打開系統相機
startActivityForResult(intent, 1);
}
在onActivityResult回調中接受拍照完成的回調
/**
* onActivityResult
*
* @param requestCode
* @param resultCode
* @param data
*/
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
/**
* 系統相機
*/
if (requestCode == Constant.REQUEST_CODE_SYSTEM_CAMERA) {
Toast.makeText(this, "系統相機拍照完成", Toast.LENGTH_SHORT).show();
//在這裏可以做一些事情,展示圖片什麼的
mPresenter.systemCameraFinish();
}
}