簡體   English   中英

OnResume相機錯誤..無法連接到相機服務

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM