我试图从通过firebasevisiontextrecognizer处理的图像中提取文本和块,即使处理成功,它似乎也没有返回正确的类型。androidstudio报告结果的类型是task而不是firebasevisiontext,正如文档所建议的那样。
以下是问题区域:''firebasevisionimage fimg=firebasevisionimage.frombitmap(curbitmap);firebasevisiontextrecognizer tscan=firebasevision.getinstance().getondevicetextrecognizer();system.out.println(“任务前”);
Task<FirebaseVisionText> result =
tscan.processImage(fImg)
.addOnSuccessListener(new OnSuccessListener<FirebaseVisionText>() {
@Override
public void onSuccess(FirebaseVisionText firebaseVisionText) {
System.out.println("task success");
// Task completed successfully
// ...
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
System.out.println("task fail");
// Task failed with an exception
// ...
}
});
String str = result.getText();'''
线路: String str = result.getText();
报告错误:无法解析“task”中的方法“gettext”
我尝试将结果强制转换为firebasevisiontext,并将新的firebasevisiontext设置为result,但都没有解决问题。
1条答案
按热度按时间q35jwt9p1#
我通过替换
String str = result.getText();
与Tasks.await(result); return result.getResult();
并在新线程上调用包含函数:new Thread(new Runnable() { public void run() { try{ containingFunction();} catch {}}}).start();