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

概述

设置点击事件判断权限

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动态权限获取相机所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部