Androidでカメラを使用する際に問題が発生しています。「Camera camera = Camera.open();」と表示されるたびにAndroidがエラーをスローします
API 25 Nougat 7.1.1 SDKで開発しています。私のエミュレータ(ネクサス5Xから見ることができ、「カメラサービスへの接続に失敗のRuntimeException」
Camera camera = Camera.open();
をエラーで:SDKが15
に設定されている分には、ターゲットそれは呼び出し時にエラー毎回スローAPI 25 Android 7.1.1)
リアルデバイス(Android 5.1.1)でテストすると、カメラの機能が正しく動作しません。まったく同じ問題です。
import android.hardware.Camera;
...
boolean hasCamera = false;
private boolean hasCamera(Context context) {
return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
hasCamera = hasCamera(this);
if(!hasCamera) {
takePhotoButton.setText("No Camera Found");
takePhotoButton.setEnabled(false);
}
}
private class TakePhotoButtonListener implements View.OnClickListener {
@Override
public void onClick(View v) {
if(hasCamera) {
try {
Camera camera = Camera.open();
camera.startPreview();
camera.takePicture(
null,
null,
new CameraPictureCallbackJPEG());
} catch (Exception e) {
Log.i("Error", e.getMessage());
}
}
}
}
カマラが実際に検出される(hasCamera == TRUE):ここ
コードです。
私は自分のアプリがAPI 15以降で動作するようにしたいので、私はCamera2(API 21以降)を使用していません。
ここでは多くの回答を試しましたが、何も機能しませんでした。お知らせ下さい!
http://stackoverflow.com/questions/23904459/android-java-lang-runtimeexception-fail-to-connect-to-camera-service –
許可の問題? – GhostCat
デバイスを再起動してみてください。私は通常、このアプリがカメラを取得して公開していないときにこれを表示します。 – CommonsWare