在我的活动中,我将在startActivityForResult之前调用主活动中的第二个活动.在我的第二个活动中,有一些方法可以完成此活动(可能没有结果),但是,其中只有一个方法返回结果.

例如,从主活动中,我调用第二个活动.在这个活动中,我正在判断手机的一些功能,比如它是否有摄像头.如果没有,我将关闭此活动.此外,在准备MediaRecorderMediaPlayer的过程中,如果出现问题,我将关闭此活动.

如果它的设备有摄像头,并且录制完成,那么在录制视频后,如果用户单击"完成"按钮,我会将结果(录制视频的地址)发送回主要活动.

如何判断主要活动的结果?

推荐答案

FirstActivity开始,使用startActivityForResult()方法拨打SecondActivity.

例如:

int LAUNCH_SECOND_ACTIVITY = 1
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, LAUNCH_SECOND_ACTIVITY);

SecondActivity中,将要返回的数据设置回FirstActivity.如果你不想回来,不要设置任何.

例如: In SecondActivity if you want to send back data:

Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(Activity.RESULT_OK,returnIntent);
finish();

如果不想返回数据:

Intent returnIntent = new Intent();
setResult(Activity.RESULT_CANCELED, returnIntent);
finish();

现在在FirstActivity类中,为onActivityResult()方法编写以下代码.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == LAUNCH_SECOND_ACTIVITY) {
        if(resultCode == Activity.RESULT_OK){
            String result=data.getStringExtra("result");
        }
        if (resultCode == Activity.RESULT_CANCELED) {
            // Write your code if there's no result
        }
    }
} //onActivityResult

要在Kotlin中更好地实现两个活动之间的数据传递,请通过'100'.

Android相关问答推荐

具有数据类的LiveData不会在视图模型中更新

房间打开创建回调java.nio.channels. OverlappingFilLockResponse

Android:MethodHandle. invoke和MethodHandle. invokeExact仅从Android O( - min—api 26)开始支持

将Android Studio插件复制到离线网络

懒惰的垂直网格中盒子的重量-Jetpack组合

无法从API访问项目详细信息

尽管我们不再使用GCM SDK,但应用程序已被标记为使用GCM SDK

OverridePendingTransition已弃用,我该怎么办?

设置文本 colored颜色 动画时如何减少重新组合?

Android 导航 - 定义参数

为什么我的 APK 中包含来自旧版 Android 支持库的类?

如何禁用自动登录 google play games services android unity?

Android Drawable文件夹中的图像显示模糊

如何删除 Jetpack Compose 中按钮的左边框?

如何仅同步 local_manifest.xml?

我如何比较多个时间范围并在 Android Compose 中并排显示它们

如何将一个没有 GRADLE 的古老 Android 项目导入到今天的 Android Studio 中?

Jetpack Compose 重组竞争条件

禁用通知权限后启动前台服务导致崩溃(Android 13)

如何根据加载图像的 colored颜色 绘制边框?