首先是权限
在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
);
}