Android 6.0动态访问权限(相机为例)

Android 6.0(API 23+)以后,要动态加载权限了,以防止,某某公司,做出损害用户利益的事情.

本片博文,仅以6.0相机权限举栗,希望对您有所帮助

 

 

//首先要来清单文件中添加上关于相机的权限

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

//布局文件不再多说这里只做了一个Demo

 

//MainActivity 的单击事件

//click单击事件

public void click(View view) {

	//去寻找是否已经有了相机的权限
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){

        //Toast.makeText(MainActivity.this,"您申请了动态权限",Toast.LENGTH_SHORT).show();
	//如果有了相机的权限有调用相机
        startCamera();

    }else{
	//否则去请求相机权限
        ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CAMERA},100);

    }

}

//

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 应用中调用系统相机所需的权限包括: 1. 相机权限android.permission.CAMERA 2. 存储权限(如果需要保存照片):android.permission.WRITE_EXTERNAL_STORAGE 在 AndroidManifest.xml 文件中添加以下代码: ``` <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ``` 需要注意的是,在 Android 6.0 及以上版本中,除了在 AndroidManifest.xml 中声明权限外,还需要动态请求权限。可以参考以下示例代码: ``` private fun checkPermissions() { if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CAMERA), PERMISSIONS_REQUEST_CAMERA) } else { // 相机权限已授权 startCamera() } } override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) { when (requestCode) { PERMISSIONS_REQUEST_CAMERA -> { if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // 相机权限已授权 startCamera() } else { // 相机权限被拒绝 Toast.makeText(this, "需要相机权限才能拍照!", Toast.LENGTH_SHORT).show() } } } } ``` 其中,`PERMISSIONS_REQUEST_CAMERA` 是一个整型请求码,用于在接收权限请求结果时标识请求来源。在 checkPermissions() 方法中,首先检查相机权限是否已授权。如果未授权,则请求相机权限,等待用户授权结果。在 onRequestPermissionsResult() 方法中,根据授权结果进行相应处理。如果用户授权相机权限,可以调用 startCamera() 方法启动相机拍照。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值