【发布时间】:2021-08-27 01:38:31
【问题描述】:
我在非活动类中启动语音识别活动(通过传入活动)这是代码:
private static void startVoiceRecognitionActivity() {
// TODO Auto-generated method stub
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
"Talk");
myActivity.startActivityForResult(intent, REQUEST_CODE);
}
最后一行myActivity 是我传递给具有此方法的类的活动。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
for (final EditText editText : editTextHandlingList) {
if (requestCode == REQUEST_CODE && resultCode == theActivity.RESULT_OK) {
ArrayList<String> results = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
//log the result }
}
}
现在的问题是onActivityResult 方法。我希望能够在同一个班级而不是在活动中获得结果。
如果不清楚,请向我提问..
当我将活动传递给这个班级时,有什么办法可以做到这一点吗?应该有办法在外面处理这个.. 有什么问题可以问我。
【问题讨论】:
-
所以您从 myActivity 开始语音识别并希望在其他地方接收结果?在哪里?
-
我将问题中的所有代码都放在一个类中。
-
并不含糊;你不能那样做。如果你能解释为什么你想也许你会得到一个更有用的答案。
标签: android