![](/img/trans.png)
[英]An error occurred while connecting to camera: 0 — Fail to connect to camera service
[英]OnResume camera error.. not able to connect to camera service
在我的活動中,我有3個Tabost,第一個是圖庫,第二個是攝像頭,第三個是視頻,當我單擊打開的攝像頭時,用戶可以輕松拍攝照片,其工作正常,並且在單擊另一個Tabhost時會發生其他事情,但是當我再次單擊攝像頭並然后該應用程序崩潰,並顯示錯誤“ OnResume相機錯誤..無法連接到相機服務”
下面是我的簡歷代碼。
protected void onResume() {
super.onResume();
// TODO Auto-generated method stub
if(camera==null){
camera = Camera.open();
camera.startPreview();
camera.setErrorCallback(new ErrorCallback() {
public void onError(int error, Camera mcamera) {
camera.release();
camera = Camera.open();
Log.d("Camera died", "error camera");
}
});
}
if (camera != null) {
if (Build.VERSION.SDK_INT >= 14)
setCameraDisplayOrientation(context,
CameraInfo.CAMERA_FACING_BACK, camera);
preview.setCamera(camera);
}
}
主要是在此行顯示錯誤。camera = Camera.open();
我嘗試在onPause中使用相機發布,但無法正常工作。
Logcat:
09-18 15:35:29.595: E/AndroidRuntime(9598): FATAL EXCEPTION: main
09-18 15:35:29.595: E/AndroidRuntime(9598): Process: com.example.rooshan, PID: 9598
09-18 15:35:29.595: E/AndroidRuntime(9598): java.lang.RuntimeException: Unable to resume activity {com.example.rooshan/com.rooshan.main.Photo_Activity}: java.lang.RuntimeException: Fail to connect to camera service
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2955)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:146)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:749)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.widget.TabHost.setCurrentTab(TabHost.java:413)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:154)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:546)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.view.View.performClick(View.java:4478)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.view.View$PerformClick.run(View.java:18698)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.os.Handler.handleCallback(Handler.java:733)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.os.Handler.dispatchMessage(Handler.java:95)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.os.Looper.loop(Looper.java:149)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.app.ActivityThread.main(ActivityThread.java:5257)
09-18 15:35:29.595: E/AndroidRuntime(9598): at java.lang.reflect.Method.invokeNative(Native Method)
09-18 15:35:29.595: E/AndroidRuntime(9598): at java.lang.reflect.Method.invoke(Method.java:515)
09-18 15:35:29.595: E/AndroidRuntime(9598): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-18 15:35:29.595: E/AndroidRuntime(9598): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
09-18 15:35:29.595: E/AndroidRuntime(9598): at dalvik.system.NativeStart.main(Native Method)
09-18 15:35:29.595: E/AndroidRuntime(9598): Caused by: java.lang.RuntimeException: Fail to connect to camera service
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.hardware.Camera.native_setup(Native Method)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.hardware.Camera.<init>(Camera.java:407)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.hardware.Camera.open(Camera.java:345)
09-18 15:35:29.595: E/AndroidRuntime(9598): at com.rooshan.main.Photo_Activity.onResume(Photo_Activity.java:93)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1192)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.app.Activity.performResume(Activity.java:5490)
09-18 15:35:29.595: E/AndroidRuntime(9598): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2945)
09-18 15:35:29.595: E/AndroidRuntime(9598): ... 17 more
您是否在onPause中釋放了相機?
像這樣
if (mCamera != null) {
// Call stopPreview() to stop updating the preview surface.
mCamera.stopPreview();
// Important: Call release() to release the camera for use by other
// applications. Applications should release the camera immediately
// during onPause() and re-open() it during onResume()).
mCamera.release();
mCamera = null;
}
您必須停止預覽並放開攝像機,否則,再次調用仍無法進行中轉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.