gpt4 book ai didi

javascript - 如何等待子 Activity 完成

转载 作者:行者123 更新时间:2023-11-29 01:48:15 25 4
gpt4 key购买 nike

我正在尝试制作一个 phonegap/cordova 插件,用于使用 RecognizerIntent 将语音转换为文本。以下是我的插件类代码:

public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
this.callbackContext = callbackContext;
try {
if (ACTION_INVOKE_SPEECH_RECOG.equals(action)) {

//JSONObject arg_object = args.getJSONObject(0);

Intent calIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
calIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
this.cordova.setActivityResultCallback(SpeechToTextPlugin.this);
this.cordova.getActivity().startActivityForResult(calIntent,REQUEST_CODE );
callbackContext.success("Completed Main Activity");

}
callbackContext.error("Invalid action");
return false;
} catch(Exception e) {
System.err.println("Exception: " + e.getMessage());
callbackContext.error(e.getMessage());
return false;

}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (resultCode == Activity.RESULT_OK) {
JSONObject obj = new JSONObject();

try {
//obj.put("TEXT", intent.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS).toString());
callbackContext.success(intent.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS).toString());

}catch(JSONException e){

}
super.onActivityResult(requestCode, resultCode, intent);
}
}

我将识别的文本传递给调用 execute 方法的 javascript。现在,调用 startActivityForResult 后,execute 函数返回。如何将识别出的词传递给js?

最佳答案

你必须使用

sendJavascript("yourJSClass.yourJSMethod();");

或者只是

sendJavascript("yourJSMethod();");

当然你必须有:

yourJSMethod = function() {}

在你的 JS 中

关于javascript - 如何等待子 Activity 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20046840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com