概述
设置点击事件判断权限
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//判断版本
if (Build.VERSION.SDK_INT >= 23) {
//权限不够
if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA}, 3);
} else {
//调用相机
startCamera();
}
}
}
});
授权
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 3) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(getActivity(), "授权", Toast.LENGTH_SHORT).show();
// 授权
startCamera();
} else {
// 未授权
Toast.makeText(getActivity(), "未授权", Toast.LENGTH_SHORT).show();
}
}
}
相机
private void startCamera() {
// 【1】设置张相机跳转意图(隐式意图)
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// 【2】添加意图
intent.addCategory("android.intent.category.DEFAULT");
// [3]跳转回传
startActivityForResult(intent, 1);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
// 5获取图片数据
Bitmap bitmap = data.getParcelableExtra("data");
// 6设置图片
img.setImageBitmap(bitmap);
}
}
最后
以上就是爱听歌睫毛膏为你收集整理的Android 6.0动态权限获取相机的全部内容,希望文章能够帮你解决Android 6.0动态权限获取相机所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复