在我的活动中,我通过startActivityForResult从主活动调用第二个活动。在我的第二个活动中,有一些方法完成了这个活动(可能没有结果),但是,其中只有一个方法返回结果
例如,在主活动中,我调用第二个活动。在本活动中,我将检查手机的一些功能,例如它是否有摄像头。如果没有,我将关闭此活动。另外,在准备MediaRecorder或MediaPlayer的过程中,如果出现问题,我将关闭此活动
如果它的设备有摄像头,并且录制完成,那么在录制视频后,如果用户单击“完成”按钮,我会将结果(录制视频的地址)发送回主活动
如何检查主要活动的结果
在FirstActivity中,使用startActivityForResult()方法调用SecondActivity
例如:
int-LAUNCH\u SECOND\u活动=1
意向i=新意向(此,SecondActivity.class);
startActivityForResult(i,启动第二次活动);
在SecondActivity中,设置要返回到FirstActivity的数据。如果您不想返回,请不要设置任何
例如:在SecondActivity中,如果要发回数据:
Intent returnIntent=newintent();
returnIntent.putExtra(“结果”,结果);
setResult(Activity.RESULT\u OK,returnIntent);
完成();
如果不想返回数据:
Intent returnIntent=newintent();
setResult(Activity.RESULT\u已取消,returnIntent);
完成();
现在,在您的FirstActivity类中,为onActivityResult()方法编写以下代码
@覆盖
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
if(requestCode==启动第二个活动){
if(resultCode==Activity.RESULT\u确定){
字符串结果=data.getStringExtra(“结果”);
}
if(resultCode==Activity.RESULT\u已取消){
//如果没有结果,请编写代码
}
}
}//onActivityResult
要在Kotlin中以更好的方式在两个活动之间传递数据,请通过“在活动之间传递数据的更好方式”