`
ylzyd12345
  • 浏览: 121215 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
博客专栏
713488f4-d0a9-3f35-997f-199fb0cb3563
玩懂Log,打开Andro...
浏览量:10514
社区版块
存档分类
最新评论

setResult在onDestroy中不工作(转)

 
阅读更多

 

我在Activtiy中的onDestory方法中调用setResult

  1. Intent data = new Intent();  
  2. setResult(RESULT_OK, data)   
 

 

但是在onActivityResult中resultCode是0(RESULT_CANCELED)

  1. onActivityResult(int requestCode, int resultCode, Intent data)   
 

 

说明setResult在onDestroy中不工作,放到OnPause和OnStop中也同样不工作

 

按照官方文档的说法,不应该在onDestroy中处理任何数据,所以自然不应该在这里setResult
但onPause中setResult是可以的,而且确实有效。
你遇到的情况可能是调用了finish(),然后由finish()触发的onPause,这个时候setResult是没用的。
因为finish()一被调用,就会确定回传ActivityResult的值,所以之后的设置就不会被得到了。

分享到:
评论

相关推荐

    Android四大组件——Activity(一)Activity之间通信及其生命周期变化

    在工作示例WorKDemo中,可能包含了展示这些概念的实际代码和步骤,你可以通过查看和运行这个示例来更直观地理解Activity间的通信和生命周期管理。通过深入理解和实践,你将能够更好地设计和优化你的Android应用。...

    startActivityForResult的详细用法

    4. 为了避免内存泄漏,确保在Activity的`onPause`或`onDestroy`方法中取消任何正在进行的异步任务,这些任务可能在目标Activity返回后仍在运行。 以上就是`startActivityForResult`的详细用法,掌握了这个方法,...

    两个activity之间的切换 android 源代码

    4. **处理返回结果**: 如果需要从目标Activity返回数据,可以使用startActivityForResult()方法启动Activity,并在目标Activity中调用setResult()设置结果。然后在原始Activity中重写onActivityResult()方法来处理...

    Android应用源码之(Activity跳转与操作)-IT计算机-毕业设计.zip

    当使用startActivityForResult()启动Activity时,可以在目标Activity中通过setResult()设置返回结果,然后在调用者Activity的onActivityResult()方法中接收。源码可能展示了如何实现这个功能,以便在子Activity中...

    Activity小实例

    - 如果需要从新Activity返回结果到启动它的Activity,可以使用`startActivityForResult(Intent, int)`,并在新Activity中调用`setResult(int, Intent)`,最后在原Activity中重写`onActivityResult(int, int, Intent...

    Android Activity设置相同的action进行判断源码.zip

    5. **startActivityForResult()**: 如果需要从启动的Activity得到返回结果,可以使用startActivityForResult()方法,然后在被启动的Activity中调用setResult(),最后在原Activity的onActivityResult()方法中处理返回...

    Android用例

    在多Activity应用中,处理Intent和回传结果( onActivityResult() )是必不可少的。当一个Activity启动另一个Activity并期望得到结果时,可以使用startActivityForResult(),然后在目标Activity完成时,通过...

    Activity

    例如,在`onCreate()`方法中初始化UI布局,`onStart()`和`onResume()`中处理用户可见性变化,`onPause()`和`onStop()`中处理数据保存或释放资源,`onDestroy()`中进行清理工作。 `Activity`间的交互是Android应用中...

    android开发——简易计算器的设计报告.doc

    在Android系统中,Activity是应用程序的核心组件,代表用户可以看到的屏幕,处理应用程序的整体工作。每个Activity是一个独立的类,从Activity基类继承,并通过视图控件构建用户界面,响应用户事件。Activity的生命...

    android之activity的生命周期和launchMode、onActivityResult方法的作用

    开发者需要在特定的生命周期方法中处理相应逻辑,如onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()等,以确保应用的正常运行和资源的有效管理。 接下来,我们讨论launchMode属性。...

    Activity、Bundle、请求码与结果码、Intent、广播、服务 (四)

    在Android开发中,Activity、Bundle、请求码与结果码、Intent、广播以及服务是核心组件,它们构成了Android应用的基础架构。下面将详细讲解这些概念及其重要知识点。 **Activity** 是Android应用中的用户界面(UI)...

    Android学习笔记-Activity篇

    2. 启动带有返回结果的Activity:若需从目标Activity返回结果,可以在启动时添加`startActivityForResult()`,并在目标Activity中使用`setResult()`设置返回值,最后调用`finish()`结束Activity。 四、关闭Activity...

    Android基础UI开发1

    当启动的新Activity完成其任务后,可以通过setResult()方法设置返回值,然后在调用者的onActivityResult()方法中处理这些返回值。 XML是一种可扩展标记语言,用于传输和存储数据。在Android中,XML被广泛应用于界面...

    My2ActivityApplication.tar.gz

    在Android应用开发中,Activity是构成应用程序的基本单元,它代表用户界面的一个屏幕,用户可以在其中进行交互。"My2ActivityApplication.tar.gz" 是一个包含源代码的压缩包,旨在演示如何在Android应用中通过按钮...

    fragment使用

    在Android应用开发中,Fragment是Android SDK中的一个重要组件,它被设计用来支持多屏幕布局和在Activity中动态地管理UI部分。Fragment的概念引入是为了更好地适应不同尺寸和类型的设备,如手机和平板。在这个...

    android广播机制

    BroadcastReceiver的工作是异步的,发送方并不知道哪些接收方会接收广播,接收方也无法知道广播是由谁发送的。这种解耦合的设计使得广播成为Android中一种灵活的通知机制。 二、BroadcastReceiver以及常用API ...

    DeviceListActivity.java.pdf

    这个Activity作为一个对话框展示,列出了已配对的设备以及在发现过程中检测到的设备。当用户选择一个设备后,该设备的MAC地址将通过结果Intent返回给父Activity。 首先,代码中包含了必要的导入语句,如`Activity`,...

    【android】的startActivityForResult

    在Android应用开发中,`startActivityForResult`是一个关键方法,用于在两个Activity之间进行交互,尤其是在需要从一个Activity启动另一个Activity并期待返回结果时。这个方法允许开发者在启动新的Activity时传递...

    andriod面试大全

    回调启动它的Activity,可以使用startActivityForResult(),并在目标Activity中调用setResult(),然后在源Activity的onActivityResult()方法中处理结果。 6. Activity间数据传递可以通过Intent的putExtra()和...

    Android Activity跳转与操作Demo源码.rar

    通过startActivityForResult()启动Activity时,可以在目标Activity中调用setResult()设置返回结果,然后在启动Activity的代码中覆盖onActivityResult()方法,接收并处理返回的结果。 七、Activity的启动模式 ...

Global site tag (gtag.js) - Google Analytics