以下を使用して、Android フォンで新しい Camera インスタンスを開きたいと考えています。
camera = Camera.open();
その前に、PacketManager を備えたカメラがあるかどうかを確認します。マニフェストにpermission.CAMERA
と 機能も追加しました。hardware.camera
インスタンスを開こうとすると、常に
01-05 13:47:48.720: E/Camera(6555): Error -2147483648
なぜこれが起こるのか、どうすればインスタンスを開くことができるのか、誰か教えてもらえますか?
01-05 16:54:39.670: E/AndroidRuntime(9295): FATAL EXCEPTION: Thread-17341
01-05 16:54:39.670: E/AndroidRuntime(9295): java.lang.RuntimeException: Fail to connect to camera service
01-05 16:54:39.670: E/AndroidRuntime(9295): at android.hardware.Camera.native_setup(Native Method)
01-05 16:54:39.670: E/AndroidRuntime(9295): at android.hardware.Camera.<init>(Camera.java:302)
01-05 16:54:39.670: E/AndroidRuntime(9295): at android.hardware.Camera.open(Camera.java:279)
01-05 16:54:39.670: E/AndroidRuntime(9295): at com.arcticcoding.nxtphone.MainActivity$GetCameraInstance.getCameraInstance(MainActivity.java:73)
01-05 16:54:39.670: E/AndroidRuntime(9295): at com.arcticcoding.nxtphone.MainActivity$GetCameraInstance.run(MainActivity.java:84)
01-05 16:54:39.670: E/AndroidRuntime(9295): at java.lang.Thread.run(Thread.java:856)
そして、これがカメラインスタンスを開くための私の方法です
private Camera getCameraInstance() {
Camera camera = null;
try {
Log.d(TAG, "Opening camera instance");
camera = Camera.open();
} catch(Exception e) {
Log.d(TAG, "Error while opening camera");
e.printStackTrace();
}
return camera;
}
マニフェスト
...
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"/>
...