You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 13及以上版本是否需申请相机运行时权限?应用上架Google Play遭拒

Android 13+ 相机权限问题解答

Android 13(API 33)及以上版本,必须申请相机运行时权限才能正常启动相机功能,无法像Android 9那样直接启动,具体说明如下:

  • 权限规则变更:从Android 13开始,android.permission.CAMERA被归类为危险权限,要求开发者必须在App运行时向用户发起权限申请,只有用户明确授权后,App才能调用相机相关API。而Android 9及更早版本,虽然也需要在Manifest中声明权限,但部分场景下未严格执行运行时申请(不过从Android 6开始就已要求动态权限,可能你的旧版本适配未严格遵循规范)。
  • Google Play审核要求:如果App调用相机功能但未实现正确的权限申请流程,会因权限合规问题被拒审,这正是你当前遇到的情况。必须同时完成两步操作:
    1. 在AndroidManifest.xml中声明相机权限:
      <uses-permission android:name="android.permission.CAMERA" />
      
    2. 在代码中实现运行时权限申请逻辑,示例(Kotlin):
      // 检查相机权限是否已授权
      if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
          // 发起权限申请
          registerForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
              if (isGranted) {
                  // 权限已授权,启动相机
                  startCamera()
              } else {
                  // 权限被拒绝,提示用户开启权限
                  Toast.makeText(this, "需要相机权限才能使用该功能", Toast.LENGTH_SHORT).show()
              }
          }.launch(Manifest.permission.CAMERA)
      } else {
          // 权限已授权,直接启动相机
          startCamera()
      }
      
  • 例外场景:如果你的App是通过Intent调用系统自带相机应用(比如拍照、录像),Android 13及以上版本不需要额外申请相机权限,系统会自动处理权限校验;但如果是自定义相机(直接调用CameraX/Camera2 API),则必须申请权限。

内容的提问来源于stack exchange,提问作者Israelmikan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 03:22:36