我是靠谱客的博主 爱听歌睫毛膏,这篇文章主要介绍Android 6.0动态权限获取相机,现在分享给大家,希望可以做个参考。

设置点击事件判断权限

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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(); } } } });

授权

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@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(); } } }

相机

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部