当前位置: 首页 > 知识库问答 >
问题:

如何在Android上管理startActivityForResult

古凌
2023-03-14

在我的活动中,我通过StartActivityForResult调用主活动中的第二个活动。在我的第二个活动中,有一些方法完成这个活动(可能没有结果),然而,只有其中一个返回一个结果。

如果它的设备有一个摄像头并且录制完成了,那么在录制完视频之后,如果用户点击done按钮,那么我会将结果(录制视频的地址)发送回主活动。

如何检查主活动的结果?

共有1个答案

秦炜
2023-03-14

FirstActivity中,使用StartActivityForResult()方法调用SecondActivity

例如:

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

secondactivity中,设置要返回到firstactivity的数据。如果你不想返回,就不要设置任何。

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中实现以更好得多的方式在两个活动之间传递数据,请通过‘在活动之间传递数据的更好方式’。

 类似资料:
  • 在我的活动中,我调用startActivityForResult主活动的第二个活动。在我的第二个活动中,有一些方法可以完成此活动(可能没有结果),但是,其中只有一个方法返回结果。 例如,在主活动中,我调用第二个活动。在本次活动中,我将检查手机的一些功能,例如它是否有摄像头。如果没有,我将关闭此活动。另外,在准备MediaRecorder或MediaPlayer的过程中,如果出现问题,我将关闭此活动

  • 我本地是windows环境 线上是linux 两边php版本不一样 一个7.2 一个7.3 本地用的phpstudy 我用composer require 安装了一个包 然后composer.json更新了 提交到服务器去 请问这个时候我在服务器是执行composer.update还是 composer install 呢?网上说不要update 能否有大佬给我说明白下。这个compser.jso

  • 本文向大家介绍如何在Ubuntu 16.04上安装和管理Nginx,包括了如何在Ubuntu 16.04上安装和管理Nginx的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将学习如何在Ubuntu 16.04上安装Nginx以及如何从防火墙允许Nginx。此外,我们还将学习如何控制Nginx。 Nginx是一种流行的Web服务器,其中大多数网站都托管在Nginx上的真实世界中,在那里,它

  • 我正试图处决詹金斯 我创建的pod使用: 它根据图像创建一个podhttps://hub.docker.com/r/trion/jenkins-docker-client 我使用以下方法创建部署: 包含,我已将其配置为: 要访问Jenkins容器,我使用以下方式公开IP: 要返回我使用的Jenkins和Docker映像的IP,请执行以下操作: 其中返回: 为了测试我打开URL在位置: http:/

  • 问题内容: 如何实现android 警报管理器? 问题答案: 从服务设置警报: 如果要设置在电话启动时重复发出警报: 向添加权限和服务: 并创建一个新类:

  • spring security有两个角色(ROLE_USER,ROLE_ADMIN)。现在,我想实现管理面板。我已经做了访问面板url的用户只有ROLE_ADMIN。但我想让额外的安全。当使用ROLE_ADMIN的用户第一次打开管理面板页面时,他必须输入管理面板密码。所以,我的问题是实现这个特性的好方法是什么?