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

Unity 2022.3.22f1 + Vuforia 10.22安卓AR应用黑屏问题求助

解决Unity+Vuforia在Android 12三星A21S上相机黑屏的方案
  • 适配Android 12权限配置
    Android 12新增了POST_NOTIFICATIONS权限,Vuforia 10.22需要正确配置才能正常调用相机。打开Unity的Player Settings > Android > Publishing Settings > Build,勾选Custom Main Manifest,然后在项目的AndroidManifest.xml里添加以下权限:

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    

    同时在Player Settings > Android > Other Settings > Configuration里,把Target API Level设为Android 12 (API level 31)或更高,避免权限兼容冲突。

  • 修正Vuforia相机初始化逻辑
    很多黑屏问题出在权限授予后相机没正确启动,给ARCamera加个脚本处理权限回调:

    using UnityEngine;
    using Vuforia;
    
    public class VuforiaCameraFix : MonoBehaviour
    {
        void Start()
        {
            VuforiaApplication.Instance.OnPermissionsGranted += OnPermsGranted;
            VuforiaApplication.Instance.Initialize();
        }
    
        void OnPermsGranted()
        {
            // 重启相机确保正常启动
            if (CameraDevice.Instance.IsActive)
                CameraDevice.Instance.Stop();
            CameraDevice.Instance.Start();
        }
    
        void OnDestroy()
        {
            VuforiaApplication.Instance.OnPermissionsGranted -= OnPermsGranted;
        }
    }
    

    把这个脚本挂到ARCamera对象上,权限通过后会手动重启相机。

  • 调整三星设备的相机权限与系统设置
    三星A21S的Android 12有一些特殊限制:

    • 进手机设置 > 应用 > 你的AR应用 > 权限 > 相机,确认权限是允许,别选仅使用期间允许之外的限制(部分三星机型有额外权限选项)。
    • 关掉手机的省电模式,省电策略可能会限制相机调用,哪怕前台授权也可能黑屏。
    • 检查系统更新,把三星A21S的Android 12更到最新,有些系统bug会导致相机兼容问题。
  • 修改图形API配置
    三星中低端机型对Vulkan支持不好,打开Player Settings > Android > Other Settings > Rendering,把Graphics APIs里的OpenGLES3移到最前面,删掉Vulkan选项,打包后再测试。

  • 检查Vuforia License与设备兼容性
    确认你的Vuforia License密钥有效,没绑定特定设备ID(免费密钥注意设备数量上限)。去Vuforia开发者后台看这个License是不是支持Android平台,对应的AR功能(比如Image Targets)有没有启用。

  • 清理缓存重新打包
    Unity缓存有时会搞出打包异常:

    • 点Unity顶部菜单File > Build Settings > Clean Build,清掉旧打包缓存。
    • 删掉项目根目录的Library文件夹,重新导入资源后再打包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 16:04:59