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

如何调用startActivityForResult方法从其他应用获取结果

startActivityForResult方法是Android中的一个方法,用于启动其他应用的Activity,并且可以获取其他应用返回的结果。下面是完善且全面的答案:

startActivityForResult方法是Android中的一个方法,用于启动其他应用的Activity,并且可以获取其他应用返回的结果。在Android开发中,一个应用可以通过调用startActivityForResult方法来请求其他应用执行某个特定的操作,并且期望获取其他应用执行操作后的结果。

调用startActivityForResult方法需要传入两个参数:Intent对象和请求码。Intent对象用于指定要启动的目标Activity,可以通过设置Intent的action、category、data等属性来指定具体的操作。请求码是一个整数值,用于标识当前请求的唯一性,可以在后续的回调方法中通过该请求码来判断返回的结果是来自哪个请求。

当调用startActivityForResult方法后,系统会根据Intent对象中的信息找到对应的Activity,并启动该Activity。在其他应用的Activity执行完特定操作后,可以通过调用setResult方法来设置返回的结果,并将结果数据放入Intent中。然后,系统会将结果数据返回给调用startActivityForResult方法的应用,并触发调用应用的onActivityResult方法。

在调用应用的onActivityResult方法中,可以根据请求码来判断返回的结果是来自哪个请求。然后,可以通过resultCode参数来判断操作是否成功,并通过data参数获取返回的结果数据。

startActivityForResult方法的应用场景非常广泛。例如,一个应用可以调用其他应用的相机功能来拍照,并获取拍照后的照片;一个应用可以调用其他应用的地图功能来选择位置,并获取选择的位置信息;一个应用可以调用其他应用的登录界面来进行用户登录,并获取登录结果等等。

腾讯云提供了丰富的云计算产品和服务,其中与Android开发相关的产品包括移动推送、移动分析、移动测试等。移动推送可以帮助开发者实现消息推送功能,移动分析可以帮助开发者分析应用的使用情况和用户行为,移动测试可以帮助开发者进行应用的自动化测试。

移动推送产品介绍链接地址:https://cloud.tencent.com/product/mpns 移动分析产品介绍链接地址:https://cloud.tencent.com/product/mobile-analytics 移动测试产品介绍链接地址:https://cloud.tencent.com/product/mts

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

相关·内容

再见!onActivityResult!你好,Activity Results API!

背景 在Android应用程序开发中,启动一个Activity不一定是单项操作,启动的Activity获取数据是常见的场景,最传统的方式是通过Intent携带数据,然后使用startActivityForResult...方法来启动下一个Activity,然后通过onActivityResult来接收返回的结果,代码如下: 调用startActivityForResult方法启动 startActivityForResult...,这种方式非常有用,不仅能同一个应用中,也可以其他应用获取数据,比如我们常见的,调用系统相机、相册获取照片,获取系统通讯录等。...随着应用的扩展,onActivityResult回调方法各种嵌套、耦合严重、难以维护。 最常见的场景就是调用系统相机相册获取照片了。...Deprecated,那这两个方法不推荐使用了,Google推荐使用什么方式Activity中更好的获取返回结果呢?

1.8K20
  • 再见!onActivityResult!你好,Activity Results API!

    背景 在Android应用程序开发中,启动一个Activity不一定是单项操作,启动的Activity获取数据是常见的场景,最传统的方式是通过Intent携带数据,然后使用startActivityForResult...方法来启动下一个Activity,然后通过onActivityResult来接收返回的结果,代码如下: 调用startActivityForResult方法启动 startActivityForResult...,这种方式非常有用,不仅能同一个应用中,也可以其他应用获取数据,比如我们常见的,调用系统相机、相册获取照片,获取系统通讯录等。...随着应用的扩展,onActivityResult回调方法各种嵌套、耦合严重、难以维护。 最常见的场景就是调用系统相机相册获取照片了。...Deprecated,那这两个方法不推荐使用了,Google推荐使用什么方式Activity中更好的获取返回结果呢?

    1.6K40

    【Android基础】利用Intent在Activity之间传递数据

    从一个Activity获取返回结果: 启动一个Activity不仅仅是startActivity(Intent intent)一种方法,你也可以通过startActivityForResult()启动一个...比如,你可以调用系统相机在你的应用中,拍了一张照片,然后返回到你的Activity,这个时候就可以通过这种方法把照片作为结果返回给你的Activity。...再比如,你可以通过这种方法启动系统联系人应用,然后获取一个人的详细联系方式。...startActivityForResult()方法,如果你在onResume之前调用了,那么所在的Activity就无法显示,直到启动的那个Activity退出然后返回结果,这是为了避免在重新定向到另外...处理返回结果: 下面的代码是如何处理获取联系人的结果: @Override protected void onActivityResult(int requestCode, int resultCode

    1.5K60

    C# 从零开始写 SharpDx 应用 D3DDevice 获取 DXGIDevice 方法

    本文将告诉大家在拿到了 D3D11 的 Device 也就是 D3DDevice 之后,如何获取 DXGI.Device 以及 DXGI.Factory 的方法 本文是 SharpDX 系列博客,更多博客请点击...SharpDX 系列 在 C# 从零开始写 SharpDx 应用 初始化dx修改颜色 这篇博客完成了基础的初始化 而接下来如何根据之前的代码,也就是如何根据上一篇博客创建的 D3D11.Device 来创建对应的...DXGI.Device 以及 DXGI.Factory 对象 其实方法十分简单,我记录一下,因此我刚才在写一些逗比代码的时候,又忘记是如何创建的 其实在创建 D3D11.Device 就用到了 DxGI...SharpDX.DXGI.DXGIObject.GetParent(Guid riid, IntPtr& parentOut) at SharpDX.DXGI.DXGIObject.GetParent[T]() 而另一个方法获取是...>(); var dxgiDevice2 = _swapChain.GetDevice(); 可以看到这两个方法获取的对象是相同的,如下面代码 if

    98410

    Fragment中调用startActivityForResult的那些坑

    方法中对于Fragment的startActivityForResult调用已经做了处理。...(intent, requestCode); } 所以源码也可以看出,这种方式最后不会回调Fragment的onActivityResult方法 总结 在Fragment中调用startActivityForResult...以及监听onActivityResult是很常见的一种应用方式,但是稍不注意就会掉到坑里,比如因为Activity的onActivityResult方法没有调用super.onActivityResult...最后总结一下几种场景的应用步骤: (1)一个Activity嵌套一层Fragment,Fragment中需要监听onActivityResult返回结果 1....返回结果 这种情况和上面的是一样的,从上面的源码中我们可以看到,在哪个Fragment发起的startActivityForResult调用,只要父Activity的onActivityResult方法调用

    2K10

    再见 onActivityResult!你好 Activity Results API

    ,比较常见的场景是启动的Activity获取数据,传统的方式是使用startActivityForResult方法来启动下一个Activity,然后通过onActivityResult方法来接收返回的结果...,也可以其它应用获取数据,例如调用系统相机,相册获取图片,获取系统通讯录等。...但随之产生了许多问题,随着应用功能不断添加迭代,onActivityResult方法会存在各种处理数据的回调,嵌套严重,难以维护,并且还得定义一堆额外的常量REQUEST_CODE,用于判断是哪个请求的回调结果...介绍 Activity Results API 是 Google官方推荐的Activity、Fragment获取返回结果的方式。...调用系统相机拍照,返回为Bitmap的图片。 TakeVideo()。调用系统录像拍摄视频,保存到给定的Uri地址,返回一张缩略图。 PickContact()。手机通讯录获取联系人。

    1.4K30

    【Android零单排系列三十五】《Android四大组件——Activity》

    可以通过getResources()方法获取当前Activity的Resources对象。 方法: onCreate():生命周期方法,在Activity创建时调用,可以进行初始化操作。...onActivityResult():用于接收其他Activity返回的结果,通过Intent对象获取返回的数据。...重启阶段(可选): onRestart():当已停止的Activity再次启动时调用,此方法在Activity后台重新回到前台时调用。...()启动: 当需要获取目标Activity返回的结果时,可以使用startActivityForResult()方法启动,并在目标Activity中调用setResult()方法设置返回结果。...如果该Activity已经存在于其他任务栈中,则会切换到该任务栈并调用其onNewIntent()方法

    22010

    Android调用系统照相机拍照与摄像的方法

    一般而言,在需要用到摄像头拍照或摄像的时候,均会直接调用系统现有的相机应用,去进行拍照或摄像,我们只取它拍摄的结果进行处理,这样避免了不同设备的摄像头的一些细节问题。...本篇博客将介绍在Android应用中,如何调用系统现有的相机应用去拍摄照片与短片,并对其进行处理,最后均会以一个简单的Demo来演示效果。...1、系统现有相机应用调用   对于如何调用系统现有应用,之前就有讲解,这里简单再说一下。..."+data.getData()); iv_CameraImg.setImageURI(data.getData()); } } } 效果展示: image.png  这里只是简单的演示了如何调用系统现有的相机应用获取拍摄的图片...总结 到此就把如何使用系统现有相机应用拍摄照片与视频都讲解清楚了,在非相机相关的项目中,如果需要拍照的话,一般都是调用系统现有的相机应用,而不会直接调用Camera硬件去获取图像。

    7.5K21

    【Android 应用开发】Activity生命周期 与 Activity 之间的通信

    onCreate() : 初始化一些成员变量 , 如View等 , 此时进入停止状态; onStart() : 被用户可见之前调用 , 调用之后进入暂停状态 , 如果不满足条件我们不想让用户进入应用...> 调用onResume()方法进入激活状态;  (2)Activity A 跳转到 Activity B  A先执行onPause()方法进入暂停状态 -> B执行onCreate()方法进入停止状态...Bundle中取出数据 :  String string = bundle.getString("string")获取字符串数据....在Activity中想要取出跳转之前放入的数据 , 调用Activity的getIntent()方法 , 获取Intent对象 , 在调用Intent对象的方法获取数据; ①获取Bundle对象 ,...("name"); tv_second.setText(name); 注意 : 获取Bundle对象的方法 : getBundleExtra("key");Bundle中获取数据的方法 : bundle.getString

    46830

    Android高频面试专题 - 基础篇(二)Fragment

    Fragment知识点不多,主要留意下回退栈和懒加载两点就差不多了,前提是其他点你也都掌握了,更多其他完整面试专题,请关注公众号获取。...2、Fragment生命周期 Fragment比Activity多了几个生命周期的回调方法 onAttach(): 当该Fragment被添加到Activity时被回调,该方法只会被调用一次。...onDetach(): 将该FragmentActivity中删除、替换完成时回调该方法,在onDestroy()方法后一定会回调onDetach()方法,该方法只会被调用一次。...注意:除了onCreateView,其他的所有方法如果你重写了,必须调用父类对 于该方法的实现 ?...3、如何获取 FragmentManger Activity 中通过 getSupportFragmentManager获取 Fragment 中通过 getChildFragmentManager获取

    1.4K10

    C#开发移动应用系列(4.调用系统应用,以及第三方应用(调用与被调用))

    正文 1.学会调用各类系统应用 我们都知道,安卓有很多系统自带的应用..比如,打电话.发短信,相册,地图.Email.等等.. 今天我们就来一个个的调用,并传值....首先我们还是添加一个按钮,来测试调用第三方的应用. 如图: ?...(i,11); 细心的朋友已经发现了..在1.4之前我们最后一句,都是StartActivity来打开应用的,1.5我们则用到了StartActivityForResult 大家一看方法名就很明白了.....那么,我们如何获得返回值呢?,其实前面一篇已经提到过了..我们的OnActivityResult方法,就是获取返回值的....,所以下面,我们讲如何得到其他应用发过来的数据: App3中的代码如下: if (Intent.ActionSend == action) { //得到发过来的数据

    97170

    Activity Result API详解,是时候放弃startActivityForResult了「建议收藏」

    startActivityForResult()方法去向SecondActivity请求数据,然后在onActivityResult()方法中去解析SecondActivity返回的结果。...所以我刚才说了,startActivityForResult()方法并没有什么致命的问题。 那么接下来我们学习一下如何使用Activity Result API来实现同样的功能。...我们完全移除了对onActivityResult()方法的重写,而是调用registerForActivityResult()方法来注册一个对Activity结果的监听。...第二个参数是一个Lambda表达式,当有结果返回时则会回调到这里,然后我们在这里获取并处理数据即可。...这样我们就不需要再调用startActivityForResult()方法了,而是直接调用launch()方法,并把Intent传入即可。 这两种写法到底孰优孰劣呢?

    1K30

    Activity Result API详解,是时候放弃startActivityForResult

    startActivityForResult()方法去向SecondActivity请求数据,然后在onActivityResult()方法中去解析SecondActivity返回的结果。...所以我刚才说了,startActivityForResult()方法并没有什么致命的问题。 那么接下来我们学习一下如何使用Activity Result API来实现同样的功能。...我们完全移除了对onActivityResult()方法的重写,而是调用registerForActivityResult()方法来注册一个对Activity结果的监听。...第二个参数是一个Lambda表达式,当有结果返回时则会回调到这里,然后我们在这里获取并处理数据即可。...这样我们就不需要再调用startActivityForResult()方法了,而是直接调用launch()方法,并把Intent传入即可。 这两种写法到底孰优孰劣呢?

    1.9K30

    Android 中拍照、相册选择、裁剪照片

    好了,步入正题,在 Android 中调用摄像头拍照获取图片或者是相册中选取图片是很常见的功能,比如某些 APP 上传头像的功能就是一个例子。...--> 读取裁剪后的图片 获取相册选择的图片: 调用系统图库 --> 得到选择的图片的 Uri 并裁剪图片然后输出到指定目录 --> 读取裁剪后的图片 这里可能有些小伙伴会问了,为什么要调用系统的裁剪程序裁剪照片呢...然后我们对两个按钮的点击事件进行处理,分别对应于拍照和相册选择图片,因为调用系统相机拍照是危险权限,所以我们要向用户申请授权,这两个权限的授权结果会回调 onRequestPermissionsResult...这两个方法的返回结果我们在 onActivityResult 方法中进行处理,这个方法当别的 Activity 返回给当前Activity 数据的时候就会被回调(即通过调用 startActivityForResult...方法获取这个 Uri, 最后,对于两种获取图片的方法,我们都需要调用 cropPhoto 方法来对得到的图片进行裁剪,并且最后裁剪的图片输出到内存卡中以便读取。

    5.9K43
    领券