在我的活动中,我通过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?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)