インテントを使用せずにAndroidカスタムカメラアプリケーションを開発しています(Androidの組み込みカメラ機能を取得しないようにするため)。アプリでオート フォーカス機能を有効にしました。キーボリュームボタンを押して写真を撮っています。そして、パラメーターを設定するために以下のコードを使用しています。
Camera.Parameters p = camera.getParameters();
camera.autoFocus(autoFocusCallback);
p.setFocusMode(Parameters.FOCUS_MODE_AUTO);
camera.setParameters(p1);
camera.takePicture(shutterCallback, rawCallback, jpgCallback);
void setHandler(Handler autoFocusHandler, int autoFocusMessage)
{
this.autoFocusHandler = autoFocusHandler;
this.autoFocusMessage = autoFocusMessage;
}
private AutoFocusCallback autoFocusCallback = new AutoFocusCallback()
{
private Object success;
@Override
public void onAutoFocus(boolean autoFocusSuccess, Camera camera)
{
if (autoFocusHandler != null)
{
Message message = autoFocusHandler.obtainMessage(autoFocusMessage, success);
autoFocusHandler.sendMessageDelayed(message, AUTOFOCUS_INTERVAL_MS);
autoFocusHandler = null;
}
else
{
}
}
};
しかし、問題は、このコードが LG の電話でのみ正常に機能することです。それを実行した後、他のすべての電話で強制終了しています。
エラーログは次のようになります
http://textuploader.com/?p=6&id=kOc9G
私が間違っているところがわからない。助けてください!ありがとう!