首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android setResult与onActivityResult不匹配

Android中的setResult和onActivityResult是用于在不同的Activity之间传递数据的方法。

setResult方法用于在一个Activity中设置结果数据,并将结果返回给调用它的Activity。它接受两个参数,第一个参数是一个整数resultCode,用于标识结果的状态,一般使用预定义的常量RESULT_OK或RESULT_CANCELED。第二个参数是一个Intent对象,用于携带结果数据。

onActivityResult方法用于接收从其他Activity返回的结果数据。它接受三个参数,第一个参数是一个整数requestCode,用于标识发起请求的Activity,一般使用自定义的请求码。第二个参数是一个整数resultCode,用于标识结果的状态,与setResult方法中的resultCode对应。第三个参数是一个Intent对象,包含了返回的结果数据。

在使用setResult和onActivityResult时,需要注意以下几点:

  1. setResult方法必须在调用finish方法之前调用,否则onActivityResult方法将无法接收到结果。
  2. onActivityResult方法必须在调用startActivityForResult方法启动的Activity返回后才会被调用。
  3. onActivityResult方法在调用startActivityForResult方法启动的Activity返回后,会在调用它的Activity的生命周期方法onResume之前被调用。

setResult和onActivityResult的使用场景包括但不限于:

  1. 在Activity之间传递数据:可以通过setResult方法设置结果数据,并在onActivityResult方法中接收返回的结果数据。
  2. 实现Activity之间的交互:可以通过requestCode和resultCode来区分不同的交互场景,并根据不同的场景做出相应的处理。
  3. 实现Activity之间的返回结果:可以通过setResult方法设置结果数据,并在调用Activity的地方通过onActivityResult方法接收返回的结果数据。

腾讯云相关产品和产品介绍链接地址:

  1. 云服务器(CVM):提供弹性计算能力,满足各种业务场景需求。详情请参考:https://cloud.tencent.com/product/cvm
  2. 云数据库MySQL版:提供稳定可靠的云端数据库服务,支持高可用、备份恢复等功能。详情请参考:https://cloud.tencent.com/product/cdb_mysql
  3. 云存储(COS):提供安全可靠的对象存储服务,适用于图片、视频、音频等多媒体资源的存储和分发。详情请参考:https://cloud.tencent.com/product/cos
  4. 人工智能平台(AI Lab):提供丰富的人工智能算法和模型,支持图像识别、语音识别、自然语言处理等应用场景。详情请参考:https://cloud.tencent.com/product/ailab
  5. 物联网平台(IoT Hub):提供全面的物联网解决方案,支持设备接入、数据采集、远程控制等功能。详情请参考:https://cloud.tencent.com/product/iothub
  6. 区块链服务(BCS):提供安全可信的区块链服务,支持快速搭建和管理区块链网络。详情请参考:https://cloud.tencent.com/product/bcs

以上是腾讯云提供的一些相关产品,可以根据具体需求选择适合的产品来支持云计算和开发工作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 蓝牙4.0代码解析

0,通俗易懂  粗暴的解释Android蓝牙Ble之间的通信 - android小草 - 博客园 1,Activiy的生命周期 Activity生命周期 2,Android中的onActivityResult...和setResult方法,Intent的使用 : 【已解决】Android的蓝牙实例代码中找不到REQUEST_ENABLE_BT  看完下面的内容就理解这儿了。...- win2k3net的专栏 - 博客频道 - CSDN.NET 6,Android更新UI的两种方法——handlerrunOnUiThread() Android更新UI的两种方法...――handlerrunOnUiThread() - 泡在网上的日子 Android:UI更新方法四:在Worker Thread中runOnUiThread直接刷新UI - 混迹于移动互联网和手机行业...- 博客频道 - CSDN.NET android多线程界面交互以及runOnUiThread简单应用_灰度空间_新浪博客 7, 实现展开列ExpandableListView的三种方式之

1K50

Android startActivityForResult和setResult的区别

Android startActivityForResult和setResult的区别 startActivityForResultstartActivity的不同之处在于: 1、startActivity...()方法 Android activity的setResult()在什么时候调用(重点也是难点) 如果在startActivityForResult起来的Activity里面设置setResult,结果并不会马上返回给...parent的Activity,只有当前Activity被finish,结果才会被发送给parent的onActivityResult去处理!...()就调用setResult肯定是在finish之前的 按BACK键从一个Activity退出来的,一按BACK,android就会自动调用Activity的finish()方法,然后设置resultCode...以上就是Android startActivityForResult和setResult的区别,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

1.3K31

Android开发笔记(四十)组件通讯工具Intent

Intent的用途组成 Intent用于处理Android各组件之间的通讯。...详细说明见上一节的《Android开发笔记(三十九)Activity的生命周期》。 Intent的来源目标 显式Intent 显式Intent便是直接指定来源类目标的类名,属于精确匹配。...,属于模糊匹配。...因为常常我们希望直接把源码的类名暴露出来,而只想给出一个事先定义好的名称,这样大家约定俗成按图索骥就好,所以隐式Intent便起到了这样的过滤作用。...该类别用于未注册CATEGORY_LAUNCHER的APP,如果注册CATEGORY_LAUNCHER,就没有APP页面,也不会在桌面上显示,但总得有地方找到这个APP,所以就用到了CATEGORY_INFO

63530

Android startActivityForResult用法

2. onActivityResult(int requestCode, int resultCode, Intent data) requestCode:用于startActivityForResult...resultCode:是由子Activity通过其setResult()方法返回。适用于多个activity都返回数据时,来标识到底是哪一个activity返回的值。...上面两个值感觉Android就是为了保证数据的严格一致性特地设置了两把锁,来保证数据的发送,目的地的严格一致性。...3. setResult(int resultCode, Intent data) resultCode:当Activity结束时resultCode将归还在onActivityResult()...()方法的第一个参数值可以根据业务需要自己定义,上面代码中使用到的RESULT_OK是系统Activity类定义的一个常量,值为-1,代码片断如下: public class android.app.Activity

34120

利用startActivityForResult返回数据到前一个Activity(附源码+解析)

Activity B中获取Activity A传过去的Intent对象,并取出Bundle对象,再从Bundle中取出数据字段,显示在当前页面 Activity B中也有一个Button,点击Button后,调用setResult...不会被调用 传一个大于0的值,比如1:效果等同于传0,onActivityResult的第一个参数正是我们通过startActivityForResult传递的requestCode 2、onActivityResult...的第二个参数resultCode:它是第二个activity通过setResult返回的,常用的取值有2个:RESULT_CANCELED、RESULT_OK RESULT_CANCELED:Activity...setResult(Activity.RESULT_FIRST_USER, result); finish(); } (2)PackageInstaller下面的...B setResult返回后,不再有onActivityResult的回调!

1.8K20

Android系列之Activity的传值和回传值

操作系统会去找intent对象中指定的action名字 的 对象,然后执行相应的动作,例如:      <activity android:name="com.xiaoluo.android_intent.SecondActivity...this result came from. resultCode The integer result code returned by the child activity through its setResult...().toString().trim(); Intent intent = new Intent(); intent.putExtra("result", result); /* * 调用setResult...方法表示我将Intent对象返回给之前的那个Activity,这样就可以在onActivityResult方法中得到Intent对象, */ setResult(1001, intent); //...对象的生命 finish(); } }); } } 这个类里面我们将MainActivity传过来的值给TextView赋上,然后通过点击按钮将值回传给我们的 MainActivity,通过 setResult

1.9K30

Android startActivityForResult()的用法

或者数据 int requestCode 这个是自己写的标记,可能一个界面跳转不懂的界面做区分的,不过这个虽说是自己随意取的,但是是负数的时候 好像不行, 这个自己理解为跳转界面并且添加一个标记 2 setResult...写这个主要是返回数据 3 onActivityResult(requestCode, resultCode, data); 跳转过去了,然后别的界面也返回了,这个就是接受值的作用了, requestCode...; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity...; import android.view.View; import android.widget.TextView; import com.hly.mydemo.R; public class InformatonActivity...Intent intent = new Intent(); intent.putExtra("nick", "小牧"); setResult

19540
领券