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

Unity的Android Studio插件使用TextRecognizer时的Context传递问题

解决Unity Android插件中Google Vision TextRecognizer的Context问题

核心问题分析

你不需要让插件类继承android.content.Context——Context是系统抽象类,直接继承必须实现大量系统级抽象方法,这就是你看到一堆权限相关报错的原因,而且这种做法完全没必要。TextRecognizer.Builder只需要一个合法的Context实例,而非让你的插件类成为Context子类。

正确解决方案

1. 获取合法的Context对象

Unity开发Android插件时,直接使用Unity提供的UnityPlayer.currentActivity即可,它是Activity的实例(Activity本身就是Context的子类),完全符合TextRecognizer.Builder的参数要求。

2. 代码示例

import com.google.android.gms.vision.text.TextRecognizer;
import com.unity3d.player.UnityPlayer;
import android.content.Context;

public class MyPlugin {
    public String recognizeTextFromImage() {
        // 正确获取Context实例
        Context context = UnityPlayer.currentActivity;
        
        // 初始化TextRecognizer
        TextRecognizer textRecognizer = new TextRecognizer.Builder(context)
                .build();
        
        // 后续图片识别逻辑(需自行实现Bitmap处理等步骤)
        String recognitionResult = "识别到的文字内容";
        return recognitionResult;
    }
}

3. 额外注意事项

  • 确保插件已正确引入UnityPlayer类依赖,Unity的Android项目通常会自动包含相关库。
  • 图片识别需处理Bitmap格式转换,同时要在Unity的AndroidManifest中声明相机、存储等必要权限,或在运行时动态申请权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:05:32