我写了一个视频录制的程序,想在录制之后打开文件夹选择刚刚录制的视频文件并发送。但是我的代码总是先打开文件夹再录制,为什么呀?应该怎么改?代码如下:
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivity(intent);
startActivityForResult(SelectFileActivity.class,Constant.CHAT_ADD_FILE);
前三句话是开启系统摄像头,最后一句话用来选择文件,但是最后一句话总是先执行。
逻辑应该是先startActivityForResult(intent,REQUEST_VIDEO_CAPTURED);
(第一个startactivity改成这个),然后在onActivityResult
中调用第二个startActivityForResult(SelectFileActivity.class,Constant.CHAT_ADD_FILE);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
switch (requestCode) {
case REQUEST_VIDEO_CAPTURED:
// 处理逻辑
...
startActivityForResult(SelectFileActivity.class,Constant.CHAT_ADD_FILE);
break;
default:
break;
}
}
}