Android 6.0以上动态访问权限调用相机(隐式跳转)

发布时间:2024-11-12 09:16

最新推荐文章于 2023-11-14 21:09:53 发布

_万能的博哥 于 2019-04-05 15:38:26 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

Android6.0更新后,推出了动态权限管理。以往我们将涉及到的权限都写在清单文件中直接进行配置,对于一些敏感的权限,写程序时必须在程序中进行声明。相机和相册选择图片都涉及用户隐私的敏感权限,所以必须在程序中进行声明。

自定义一个点击事件 :

imgPhoto.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

if (Build.VERSION.SDK_INT >= 23) {

int permission = ContextCompat.checkSelfPermission(getActivity().getApplicationContext(), Manifest.permission.CAMERA);

if (permission == PackageManager.PERMISSION_GRANTED) {

startCamera();

} else {

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

builder.setTitle("提示");

builder.setMessage("是否开启相机权限?");

builder.setPositiveButton("是", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA}, 0);

}

});

builder.setNegativeButton("否", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(getActivity(), "您拒绝了开启相机权限", Toast.LENGTH_SHORT).show();

}

});

builder.show();

}

} else {

startCamera();

}

}

});

事件回调(权限申请完回调)

@Override

public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

super.onRequestPermissionsResult(requestCode, permissions, grantResults);

if (permissions[0].equals(Manifest.permission.CAMERA)) {

if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {

Toast.makeText(getActivity(), "已授权", Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(getActivity(), "授权失败", Toast.LENGTH_SHORT).show();

}

}

}

调用开启相机方法 

private void startCamera() {

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

intent.addCategory("android.intent.category.DEFAULT");

startActivityForResult(intent, 1);

}

动态和静态添加权限都需要配置清单文件!

<uses-permission android:name="android.permission.CAMERA"/>

网址:Android 6.0以上动态访问权限调用相机(隐式跳转) https://www.yuejiaxmz.com/news/view/49693

相关内容

Android程序设计 大作业:基于安卓的校园生活服务系统的设计与实现
[树懒生活]:家装消费者调研报告:2024中国家庭装修用户消费变化
工银e生活App能否让美好生活触手可及?用户体验问题多,金融服务拖后腿
Android Studio实现简单的健身系统
Android软件开发之应用程序之间的通信介绍(十八) .
“三孩”之后:职场上,生育政策影响女性发展;家庭内,夫妻权力关系难以改变
急转线上:疫情之下教育机构的一场“不完美”自我救赎
通用生活记账app/基于android记账系统/财务管理系统
基于android个人生活助手app
转需!静态居家常见心理问题调适指南

随便看看