如何在Android上管理startActivityForResult?

如何在Android上管理startActivityForResult?,第1张

概述在我的活动中,我通过startActivityForResult从主活动调用第二个活动.在我的第二个活动中,有一些方法可以完成此活动(可能没有结果),但是,只有其中一个返回结果.例如,从主要活动我称之为第二个.在这项活动中,我正在检查手机的某些功能,例如是否有相机.如果没有,那么我将关闭此活动.

在我的活动中,我通过startActivityForResult从主活动调用第二个活动.在我的第二个活动中,有一些方法可以完成此活动(可能没有结果),但是,只有其中一个返回结果.

例如,从主要活动我称之为第二个.在这项活动中,我正在检查手机的某些功能,例如是否有相机.如果没有,那么我将关闭此活动.此外,在准备MediaRecorder或MediaPlayer期间如果出现问题,我将关闭此活动.

如果其设备有摄像头并完全录制,则在用户点击完成按钮后录制视频后,我会将结果(录制视频的地址)发送回主要活动.

如何检查主要活动的结果?

解决方法:

从您的FirstActivity使用startActivityForResult()方法调用SecondActivity

例如:

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

在SecondActivity中,设置要返回FirstActivity的数据.如果您不想返回,请不要设置任何.

例如:在SecondActivity中,如果要发送回数据:

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()方法编写以下代码.

@OverrIDeprotected voID onActivityResult(int requestCode, int resultCode, Intent data) {    if (requestCode == 1) {        if(resultCode == Activity.RESulT_OK){            String result=data.getStringExtra("result");        }        if (resultCode == Activity.RESulT_CANCELED) {            //Write your code if there's no result        }    }}//onActivityResult
总结

以上是内存溢出为你收集整理的如何在Android上管理startActivityForResult?全部内容,希望文章能够帮你解决如何在Android上管理startActivityForResult?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1104672.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存