我正在尝试制作一个每5秒捕获一次照片的android应用。目前,我正在使用的技术使用手机的相机应用程序来捕获照片。它要求用户拍摄照片,然后按确定,然后控件返回到android应用。我发现有些代码无需人工干预即可执行相同操作,但是由于我是android的新手,所以我无法理解它们的代码,因为其中大多数代码都不完整,并且分为多个活动。可以仅使用一项活动吗?
编辑: 上面提到的代码here
答案 0 :(得分:0)
我建议您使用此library(在此处为documentation),而不要使用Android的官方Camera Api,这对于初学者来说可能真的很棘手
然后您的代码可能是这样
private final Handler handler = new Handler(); //This should be declared before OnCreate
private Runnable photoRunnable; //This also
CameraView camera = findViewById(R.id.camera);
camera.addCameraListener(new CameraListener() {
public void onPictureTaken(PictureResult result) {
//Handle result here!
}
});
photoRunnable = new Runnable() {
@Override
public void run() {
try {
camera.takePicture(); //The result will be in onPictureTaken
}
catch (Exception e) {
e.printStackTrace();
//Handle Exception!
}
finally{
//also call the same runnable to call it at regular interval
handler.postDelayed(this, 10*1000); //10*1000 is your interval (in this case 10 seconds)
}
}
};
//runnable must be execute once
handler.post(photoRunnable);
记住要管理处理程序的生命周期