2015-11-02 177 views
2

我尝试使用谷歌愿景API来开发面部跟踪应用程序(API docAndroid相机:无法连接到服务


这是我的清单:

<uses-permission android:name="android.permission.CAMERA"/> 
<uses-feature android:name="android.hardware.camera.front" android:required="true"/> 
<meta-data android:name="com.google.android.gms.vision.DEPENDENCIES" android:value="face"></meta-data> 

    *activities* 


这是我的代码:

private void startCameraSource() { 
    try { 
     mCameraSource.start(mPreviewHolder); 
    } catch (IOException e) { 
     //Error handling 
     Toast.makeText(this, "Could not start camera!", Toast.LENGTH_LONG).show(); 
    } 
} 


这是logcat的错误:

Caused by: java.lang.RuntimeException: Fail to connect to camera service 
E/AndroidRuntime:  at android.hardware.Camera.<init>(Camera.java:520) 
E/AndroidRuntime:  at android.hardware.Camera.open(Camera.java:361) 
E/AndroidRuntime:  at com.google.android.gms.vision.CameraSource.zzEu(Unknown Source) 
E/AndroidRuntime:  at com.google.android.gms.vision.CameraSource.start(Unknown Source) 


为什么会发生这种情况(...在Xperia Z3 compact 5.1上)?


UPDATE:

我发现了一个新的错误。我认为这可能是我的代码无法工作的原因。
我该如何解决这个问题?

W/ServiceManager: Permission failure: android.permission.CAMERA from uid=10241 pid=26845 
E/CameraService: Permission Denial: can't use the camera pid=26845, uid=10241 
+0

哪里是SurfaceView及其SurfaceHolder和相关函数?例如onSurfaceCreated() –

+0

我在布局文件中创建了表面视图,并使用'getHolder()'获取SurfaceHolder对象。我没有任何方法,但这不应该是一个问题,对吧? – 000000000000000000000

回答

1

我在this问题的答案中发现了我的问题的解决方案。
我不得不搬到

<uses-permission android:name="android.permission.CAMERA"/> 
<uses-feature android:name="android.hardware.camera.front" android:required="true"/> 
<meta-data android:name="com.google.android.gms.vision.DEPENDENCIES" android:value="face"></meta-data> 

的int <manifest> - 标签。