2015-09-18 2 views
0

В моей деятельности у меня есть 3 Tabost, первая галерея - вторая камера, а третья - видео, когда я нажимаю на камеру, ее открывают, и пользователь может легко сфотографировать свою работу и при нажатии другой вкладки другие вещи случаются, но когда я снова нажимаю на камеру, а затем приложение вылетает, и появляется сообщение об ошибке «Ошибка камеры OnResume .. не удается подключиться к обслуживанию камеры»Ошибка камеры 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 
+0

присоединять LogCat для ошибки – Bhargav

+0

пожалуйста, проверьте я обновил свой вопрос с logcat –

+0

Вы добавили разрешения для Camera in manifest? – shiladitya

ответ

0

ли вы выпустить камеру в 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; 
} 

Вы должны stopPreview и освободить камеру в вашем случае в противном случае resurce все еще заблокированы с первого звонка ...

+0

После использования этого я получаю еще одну ошибку в моем предпросмотре, где я показываю щелкнутый рис. Я получаю эту ошибку 09-18 15: 53: 03.348: E/AndroidRuntime (11280): \t на android.hardware.Camera._stopPreview (собственный метод) –

Смежные вопросы