AndroidStudio(Kotlin)中打开相机的最新API信息
创始人
2024-08-21 11:30:17
0

最新的相机API已经不再使用在Android Manifest文件中声明相机权限的方式,而是采用了新的运行时权限API。以下是使用最新的相机API打开相机的步骤:

1.在AndroidManifest.xml文件中添加以下两个权限:

2.使用以下代码在运行时请求相机权限:

if (ContextCompat.checkSelfPermission(this,Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this,arrayOf(Manifest.permission.CAMERA), REQUEST_CAMERA_PERMISSION_CODE) }

3.在onRequestPermissionsResult回调中处理相机权限请求结果,如果用户授予了相机权限,就打开相机并启动预览:

override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { if (requestCode == REQUEST_CAMERA_PERMISSION_CODE) { if (grantResults.size == 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // 授予了相机权限,打开相机并启动预览 openCamera() } else { // 拒绝了相机权限,可以提示用户或者直接关闭Activity finish() } } else { super.onRequestPermissionsResult(requestCode, permissions, grantResults) } }

4.使用以下代码打开相机,这里使用了CameraX API:

val cameraProviderFuture = ProcessCameraProvider.getInstance(this) cameraProviderFuture.addListener(Runnable { val cameraProvider: ProcessCameraProvider = cameraProviderFuture.get() val preview = Preview.Builder().build() preview.setSurfaceProvider(previewView.createSurfaceProvider()) val cameraSelector = CameraSelector.Builder().requireLensFacing(CameraSelector.LENS_FACING_BACK).build() val imageCapture = ImageCapture.Builder().build() cameraProvider.unbindAll() camera = cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageCapture) }, ContextCompat.getMainExecutor(this))

上面的代码中,previewView是相机预览的View,可以是一个TextureView或者Surface

相关内容

热门资讯

透视资料!哈糖大菠萝开挂(透视... 透视资料!哈糖大菠萝开挂(透视)哈糖大菠萝免费辅助器(辅助)其实是真的有教程(哔哩哔哩)暗藏猫腻,小...
透视方针!德州辅助工具到底怎么... 透视方针!德州辅助工具到底怎么样(透视)pokemmo辅助脚本(辅助)原来真的是有工具(哔哩哔哩)1...
透视讲义!pokemmo手机版... 透视讲义!pokemmo手机版修改器(透视)红龙poker辅助工具(辅助)本来有方法(哔哩哔哩)1、...
透视步骤!pokermaste... 透视步骤!pokermaster脚本(透视)拱趴大菠萝万能挂(辅助)好像一直都是有技巧(哔哩哔哩)1...
透视指南书!aa poker辅... 透视指南书!aa poker辅助包(透视)epoker底牌透视(辅助)竟然是真的有工具(哔哩哔哩)1...
透视绝活儿!werplan透视... 透视绝活儿!werplan透视挂(透视)impoker辅助(辅助)确实是真的有脚本(哔哩哔哩)1、每...
透视阶段!聚星ai辅助工具下载... 透视阶段!聚星ai辅助工具下载(透视)智星德州辅助译码插件靠谱吗(辅助)真是一直都是有攻略(哔哩哔哩...
透视模板!来玩app破解版(透... 透视模板!来玩app破解版(透视)pokerworld破解版下载(辅助)原来一直总是有app(哔哩哔...
透视窍要!pokermaste... 透视窍要!pokermaster辅助器(透视)哈糖大菠萝能开挂吗(辅助)都是一直总是有app(哔哩哔...
透视指南!pokermaste... 您好,德州私人局怎么透视这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...