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

标签 android

我在非 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/

相关文章:

android - 最初在列表中不可见时未选中 MultiSelectListPreference 复选框(API 23)

android - 改造和 HTTP 补丁

java - 从 libgdx 中的核心模块类访问 Android 模块类

android - 我想阻止我的音乐播放器应用程序在每次启动时扫描目录中的音频文件。我怎样才能做到这一点?

java - Jackson 在尝试映射没有类元素的 JSON 时崩溃

android - 无法让渐变背景看起来不错?

android - 不使用多部分httppost方法在android中发布图像文件

android - Android进度对话框消息中的两种颜色的文本

android - Dagger 2.15 - 如何在 Application 类中注入(inject)依赖项

android - Android MediaPlayer的音量,平移和多个过程