我现在正试图在我的应用程序中实现Tesseract.Xamarin,但没有任何成功。我面临的问题与异步方法有关。基本上在文档中说:
TesseractApi api = new TesseractApi (context, AssetsDeployment.OncePerVersion);
await api.Init ("eng");
await api.SetImage("image_path");
string text = api.Text;
我的确切代码是:
TesseractApi api = new TesseractApi(this, AssetsDeployment.OncePerVersion);
await api.Init("eng");
await api.SetImage(App._file.Path);
string text = api.Text;
我得到的错误是:等待'等待'运算符只能在异步方法中使用。考虑使用' async'标记此方法。修饰符并将其返回类型更改为'任务' P.S我无法修改此方法类型,因为它是一个覆盖方法(OnActivityResult)
答案 0 :(得分:0)
您只需要在方法中添加async关键字(这不会更改方法签名)
protected override async void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
TesseractApi api = new TesseractApi(this, AssetsDeployment.OncePerVersion);
await api.Init("eng");
await api.SetImage(App._file.Path);
string text = api.Text;
}
}