カメラから 10 秒ごとに画像を取得する基本的なサービスを作成しました。サービスは完全に機能しますが、画像ファイルにImageYYYYddmm_HHmmSSのような名前を付けようとしています。2 番目のファイルの後、画像は同じYYYYddmm_HHmmSSを取得するため、最初の画像が上書きされます。私の間違いはどこですか?
public class CP extends Service
{
Camera.PictureCallback mCall = new Camera.PictureCallback()
{
public void onPictureTaken(final byte[] data, Camera camera)
{
FileOutputStream outStream = null;
try{
outStream = new FileOutputStream("/sdcard/Image"+tar+".jpg");
outStream.write(data); outStream.close();
Log.i("CAM", data.length + " byte written: /sdcard/Image"+tar+".jpg");
camClose(sHolder);
} catch (FileNotFoundException e){
Log.d("CAM", e.getMessage());
} catch (IOException e){
Log.d("CAM", e.getMessage());
}
}
};
@Override
public IBinder onBind(Intent intent) {
return null;
}
public void camClose(SurfaceHolder sHolder) {
if (null == mCamera)
return;
mCamera.stopPreview();
mCamera.release();
mCamera = null;
Log.i("CAM", " closed");
}
}