`

startActivityForResult常用使用方式

阅读更多
示例 初始Activity启动目标activity,并带上了请求码requestCode
startActivityForResult(new Intent(CurrentActivity.this, TargetActivity.class),requestCode);

目标activity关闭
setResult(resultcode)
TargetActivity.this.finish();

返回到初始Activity后,处理方法
	@Override
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		//可以根据requestCode或者resultCode判断逻辑

	}


之前做项目的时候,TargetActivity启动方式默认设置为singleTask,设置的resultCode不能被CurrentActivity接受到。所以如果TargetActivity没什么特殊业务,可以直接在CurrentActivity根据requestCode做逻辑处理。
但是在android5.0系统上,可以接受到启动模式为singleTask的目标activity的resultCode,没有具体研究为何

分享到:
评论

相关推荐

    简化 startActivityForResult 的使用1

    传统的使用方式是定义 requestCode,然后调用 startActivityForResult 方法,最后重写 Activity 或者 Fragment 的 onActivityResult 方法来处理结果。但是,这种方法存在一些问题。当 requestCode 比较多的时候,...

    Android之Intent通过startActivityForResult方法启动新Activity

    在Android应用开发中,`startActivityForResult()`是一个常用且重要的功能,熟练掌握其使用能有效提高用户体验和应用的可维护性。在实际项目中,结合具体的业务场景灵活运用,可以使应用的交互更加顺畅。

    Android startActivityForResult和setResult的区别

    Android 中的 startActivityForResult 和 setResult 是两个常用的方法,用于 Activity 之间的数据交互和跳转。然而,很多开发者对这两个方法的区别和使用场景不甚了解,本文将详细介绍 Android ...

    startActivityforResult:如何在Flutter中启动结果结果活动的示例

    在Android原生开发中,`startActivityForResult()` 是一个常用的方法,用于启动一个新的Activity并等待其返回结果。在Flutter框架中,为了实现类似的功能,Flutter提供了`MethodChannel`和`Platform Channels`机制来...

    05-01 从A的activit传递数据到B的activity常用的3种方式

    以下将详细阐述从A Activity向B Activity传递数据的三种常用方式: 1. **使用Intent extras** Intent是Android系统用来启动另一个组件(如Activity)的类。我们可以在Intent对象中添加额外的数据,然后通过start...

    Android中界面间的跳转(两种方式)

    这时,就需要使用第二种方式——`startActivityForResult(Intent, int)`。这个方法除了启动新Activity外,还会在新Activity结束时返回一个结果。其基本用法如下: ```java Intent intent = new Intent(Current...

    025集-项目结构介绍(2)和Activity常用方法

    例如,通过startActivity()和startActivityForResult()方法启动新的Activity,或者使用setResult()返回结果到上一个Activity。 在实际开发中,理解并熟练运用这些知识点,可以帮助开发者更有效地构建和管理Android...

    android 传值回调

    在页面传值中,回调可能涉及到启动Activity的结果处理,如使用startActivityForResult()启动Activity并重写onActivityResult()方法来接收返回的数据。 总结来说,Android页面间的传值方式多样,开发者可以根据具体...

    Android中Activity的常用方法一览.pdf

    10. `startActivityForResult(Intent intent, int requestCode)` 和 `startActivityForResult(Intent intent, int requestCode, Bundle options)`:启动Activity并期望得到返回值,通常用于实现选择图片、获取地理...

    android-页面跳转-Activity&Intent详解,Bundle类介绍说明.doc

    Bundle 提供了各种常用类型的 putXxx() 和 getXxx() 方法,例如:putString() 和 getString(),putInt() 和 getInt()。 Bundle 的内部实际上是使用了 HashMap 类型的变量来存放 putXxx() 方法放入的值。 请求码和...

    最简单的2个Activity跳转

    在Android应用开发中,Activity是...继续深入学习,了解Intent的其他功能,如使用隐式Intent启动服务或广播接收器,以及更高级的数据传递方式,如Parcelable或Serializable接口,会让你的Android编程技能更上一层楼。

    Android应用源码之基于Android2.2照相机Demo,可以直接放到项目里使用.zip

    因此,理解不同API级别下的相机使用方式差异,以及使用Support Library或AndroidX库来实现兼容性是非常重要的。 以上就是基于Android 2.2照相机Demo的主要知识点,通过深入研究这个源码,开发者可以学习到如何在...

    Android 开发技巧新整理【技术文档】

    startActivityForResult与onActivityResult**: 使用`startActivityForResult()`启动新的Activity,并通过`onActivityResult()`接收返回数据。 #### 六、应用程序管理 **11. 使程序完全退出** - **知识点**: 如何...

    注册界面(Activity的应用和数据传递)

    6. **使用IntentService或BroadcastReceiver**:当数据传输涉及到后台服务或需要广播通知时,这两种方式也是常用的选择。 ### 五、注意事项 1. 传递数据时,要确保数据类型兼容,否则可能导致运行时异常。 2. 对于...

    获取本地图片与拍照图片的压缩

    通过创建一个`Intent`,设置其`ACTION_IMAGE_CAPTURE`,然后使用`startActivityForResult()`启动相机应用。拍完照片后,相机应用会返回一个包含拍摄图片的`Uri`。 3. **使用流进行图片处理**:在处理大图片时,直接...

    activity之间的通信

    1. startActivity(Intent intent):这是最常用的启动方式,用于启动一个新的Activity,启动后的Activity会覆盖当前Activity,返回键可以返回到之前的Activity。 2. startActivityForResult(Intent intent, int ...

    andriod面试大全

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

    Android高级应用源码-android 调用系统相机图库裁剪-图片上传-客服端(测试可用).zip

    常用的是使用`com.android.camera.action.CROP`(非标准但广泛支持)。 ```java Intent cropIntent = new Intent("com.android.camera.action.CROP"); cropIntent.setDataAndType(imageUri, "image/*"); ...

    Android上学期复习

    启动和关闭Activity使用startActivity()和finish()方法,startActivityForResult()用于启动Activity并等待结果,然后在onActivityResult()中处理返回数据。 Service组件在后台执行任务,不与用户界面交互。...

    安卓一键拨号,一键拨打电话

    然后,使用startActivityForResult()或者startActivity()方法启动这个Intent,根据应用的具体需求选择合适的方法: ```java if (ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) == ...

Global site tag (gtag.js) - Google Analytics