startActivityForResult(android.provider.MediaStore.ACTION_VIDEO_CAPTURE)永远不会返回结果

时间:2010-08-25 05:31:50

标签: android video-capture android-intent

我想推出一个视频捕捉Intent,它会通过某种结果给我回电话。到目前为止它正确启动了G1的默认摄像机应用程序,但是当我在摄像机中完成录制视频时,它只是坐在那里(仍然在摄像机应用程序中),而不是调用我的onActivityResult()方法。

这只是摄像机的一个缺点,还是有一个特殊的标志或额外的我可以设置告诉它在完成录制时返回控制?理想情况下,它会传回一个视频句柄 - 一个URI,一个InputStream,一个文件路径。

代码:

protected void launchRecordVideoActivity() {    
Intent intent = new Intent (android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult (intent, RequestCodes.RECORD_VIDEO);
}

RequestCodes是我自己的包含int常量的接口。

public void onActivityResult (int requestCode, int resultCode, Intent intent) {
    ...
}

onActivityResult的内容无关紧要,因为我的应用程序根本就没有回复过。 没有调用onActivityResult。

有什么建议吗?我也可以将视频录制直接烘焙到应用程序中,但我不愿意。

2 个答案:

答案 0 :(得分:0)

你不能(通常)对在应用程序之外启动应用程序的意图调用startActivityForResult

答案 1 :(得分:0)

相同的代码在SE x10上工作正常(更新到sdk 2.1)。活动开始,用户开始录制视频,当他按下停止时 - 视频onActivityResult()在调用类中运行。 可能它已在以后的SDK版本中得到修复。