gpt4 book ai didi

android - 如何从另一个类中的 OnActivityResult 获取结果?(在 Activity 之外

转载 作者:行者123 更新时间:2023-12-04 18:06:25 27 4
gpt4 key购买 nike

我在非 Activity 类中启动语音识别 Activity (通过传入 Activity ),代码如下:

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 是我传递给包含此方法的类的 Activity 。

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 方法。我希望能够在同一个类中而不是在 Activity 中得到结果。如果不清楚,请问我问题..

当我将 Activity 传递给这个类(class)时,有什么方法可以做到这一点吗?应该有一些方法可以在外面处理这个..如果您有任何问题,请问我。

最佳答案

我知道这是一个老问题,但在新 api 的帮助下,它很简单:

myActivity.registerForActivityResult(StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
// There are no request codes
val data: Intent? = result.data
doSomeOperations()
}
}.launch(yourIntent)

关于android - 如何从另一个类中的 OnActivityResult 获取结果?(在 Activity 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25557087/

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