首先是权限
在AndroidManifest.xml文件的里增加
<!-- 调用相机权限 -->
<uses-permission android:name="android.permission.CAMERA" /> <!-- 读取sd卡权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
还要在动态申请权限,如在点击事件里写;
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{"android.permission.CAMERA",
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE"},101);
}
打开相机或相册
private Uri mImageUri;
//激活相机操作
private void go() {
//点击打开相机
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
//设置输出路径
path = path+getNowTime()+".jpg";
mImageUri = FileProvider.getUriForFile(ZDYActivity.this, "com.example.android_mvp_dagger", new File(path));
intent.putExtra(MediaStore.EXTRA_OUTPUT,mImageUri);
startActivityForResult(intent,102);
}
//激活相册操作
private void goPhotoAlbum() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, REQ_PIC);
}