首页 > 解决方案 > 杰森内特的相机

问题描述

我需要在我的一个页面上使用相机,但它不起作用(NotAllowedError: Permission denied),我试图通过我的设备在我的应用程序上授权相机,但它仍然无法正常工作

我还在我的清单上添加了授权:

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

<uses-feature android:name="android.hardware.camera.any" android:required="false" /> 但我认为是因为我使用了 jasonnette,所以应用程序使用了我显示的导航器的授权,而不是应用程序本身的授权

标签: androidjasonette

解决方案


您必须要求我前段时间在一个项目中这样做的运行时权限:首先:

 ActivityCompat.requestPermissions(activity!!,
     arrayOf(android.Manifest.permission.CAMERA),
     PERMISSIONS_REQUEST_CAMERA)

然后:

override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
    when (requestCode) {
        PERMISSIONS_REQUEST_CAMERA -> {
            if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                //do your stuff
            } 
            return
        }
    }
    super.onRequestPermissionsResult(requestCode, permissions, grantResults)
}

我希望这有帮助!


推荐阅读