我创建了一个连拍相机,我希望当 Activity 开始时,相机会自动开始拍照而无需按任何按钮。
它说:不幸的是,当我尝试输入时,FrontVerify 已停止:
preview.camera.takePicture(shutterCallback, rawCallback, jpegCallback);
在 onCreate 方法上。
问题是:我想创建一系列模拟按钮的照片。当用户将手指放在相机附近并且它保持全黑时,我的算法告诉我 BLACK = TRUE,所以继续下一个 Activity 。因此我不需要任何物理或数字按钮,我可以使用相机来解决这个问题。
所以到目前为止,我让它工作的唯一方法是使用 onClick 方法和 我真的很想摆脱这里的 onClick 方法:
public void onClick(View v) {
preview.camera.takePicture(shutterCallback, rawCallback,
jpegCallback);
buttonClick.setEnabled(false);
}
连拍相机的算法是这样的:
PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
FileOutputStream outStream = null;
try {
// write to local sandbox file system
// outStream =
// CameraDemo.this.openFileOutput(String.format("%d.jpg",
// System.currentTimeMillis()), 0);
// Or write to sdcard
outStream = new FileOutputStream(String.format(
"/sdcard/eyeverify/still%d.jpg",
System.currentTimeMillis()));
outStream.write(data);
outStream.close();
Log.d(TAG, "onPictureTaken - wrote bytes: " + data.length);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
}
Log.d(TAG, "onPictureTaken - jpeg");
try {
stillCount++;
camera.startPreview();
if (stillCount < 10) {
preview.camera.takePicture(shutterCallback, rawCallback,
jpegCallback);
} else {
stillCount = 0;
buttonClick.setEnabled(true);
}
} catch (Exception e) {
Log.d(TAG, "Error starting preview: " + e.toString());
}
}
};
}
所以我想不通,如何启动应用程序和相机开始自动连拍。
最佳答案
只是:
new Handler().postDelayed(new Runnable(){
public void run(){
yourBtn.performClick();
}
}, 1000).
关于android - 无按钮爆破相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33629906/