I am developing a camera app in android (without using intent) where , i am implementing both auto focus and Flash light features . It works fine if i implement any one feature. But on adding both Auto focus and Flash Light feature, it gives force close in LG nexus and other phones which has Flash Light. i am using the below code for auto focus and Flash Light.
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
{
event.startTracking();
camera.autoFocus(autoFocusCallback);
Parameters p = camera.getParameters();
p.setFocusMode(Parameters.FOCUS_MODE_AUTO);
if(this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH))
{
p.setFlashMode(Parameters.FLASH_MODE_ON);
camera.setParameters(p);
camera.startPreview();
camera.takePicture(shutterCallback, rawCallback, jpgCallback);
}
else
{
camera.startPreview();
camera.takePicture(shutterCallback, rawCallback, jpgCallback);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
private AutoFocusCallback autoFocusCallback = new AutoFocusCallback()
{
@Override
public void onAutoFocus(boolean autoFocusSuccess, Camera camera)
{
camera.takePicture(shutterCallback, rawCallback, jpgCallback);
if (autoFocusHandler != null)
{
Message message = autoFocusHandler.obtainMessage(autoFocusMessage, success);
autoFocusHandler.sendMessageDelayed(message, AUTOFOCUS_INTERVAL_MS);
autoFocusHandler = null;
}
else
{
}
}
};
This is the Error Log i am getting.
What may be the problem. Please Help! Thanks!