我遇到了我认为是特定于设备的问题,但我想看看其他人以前是否见过这种行为。下面是我用来在相机活动中捕获 JPEG 的代码:
surfaceView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
camera.autoFocus(new AutoFocusCallback() {
@Override
public void onAutoFocus(boolean success, Camera camera) {
if(success)
{
Log.d(TAG, "Focusing...successful.");
camera.takePicture(null, null, null, jpegCallback);
}
else
{
Log.d(TAG, "Focusing...failed.");
}
}
});
}
});
此代码在我的 Nexus 4 上运行良好,但今天下午我在三星 Galaxy S3 上尝试了它,相机服务器崩溃并显示以下错误消息:
Focusing...successful.
Camera server died!
ICamera died
Error 100
从 LogCat 中可以看出,失败发生在camera.takePicture(...)
被调用时(即jpegCallback
从未被调用)。后来我找了一个朋友用三星 Galaxy Note 试用它,它在他们的手机上运行良好。
我不应该从自动对焦回调中拍照吗?这似乎是放置它的合适位置。这里的任何见解都会很棒!