2015-05-02 26 views
11

0 benzer bir soru vardı ama çözülmemiş gitti:W: kameraya bağlanırken bir hata oluştu:

W/CameraBase﹕ An error occurred while connecting to camera: 0 on camera.open() call

I (doğal olarak) kamera kullanarak bir uygulamayı var. İyi çalışıyor. Bununla birlikte, kodlar arasında hiçbir değişiklik olmadan, uygulama kilitlenmeye başladı (Git işlem geçmişi üzerinden hiçbir kod değişikliği doğrulanmadı).

Sorun daha fazla donanımda bir yerde olduğunu doğrulamak için aynı kodu başka bir telefonda çalıştırdım ve gayet iyi çalışıyor. Bir şekilde kamera kilitli ve açılmıyor.

// Açılır:

Bu

public CameraPreview(Context context, Camera camera) 
    { 
     super(context); 
     _camera = camera; 
     _surfaceHolder = getHolder(); 
     _surfaceHolder.addCallback(this); 
    } 

kamera Açılış için oluşturma kodu olan previe nesnesi

_cameraPreview = new CameraPreview(getActivity(),_camera); 

oluşturun: Burada

ilgili koddur arkaya bakan kamera varsayılan olarak

public static Camera getCameraInstance() 
{ 
    Camera c = null; 
    try 
    { 
     c = Camera.open(); 
    }catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 

    return c; 
} 

Hata oluştuğu yer burası, camera.Open hatayı aşağıdaki yığın iziyle atar. Kamera neslim boş. Bu kod resmi Android dokümanlarından geliyor ancak oturumun dışından kilitlendiğinde kameranın nasıl bırakılacağı hakkında konuşmuyorlar.

tam günlük dışarı

W/CameraBase﹕ An error occurred while connecting to camera: 0 
W/System.err﹕ java.lang.RuntimeException: Fail to connect to camera service 
W/System.err﹕ at android.hardware.Camera.<init>(Camera.java:497) 
W/System.err﹕ at android.hardware.Camera.open(Camera.java:357) 
W/System.err﹕ at co.pumpup.app.EditPhotoFragment.getCameraInstance(EditPhotoFragment.java:241) 
W/System.err﹕ at co.pumpup.app.EditPhotoFragment.onCreateView(EditPhotoFragment.java:76) 
W/System.err﹕ at android.app.Fragment.performCreateView(Fragment.java:2053) 
W/System.err﹕ at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:894) 
W/System.err﹕ at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 
W/System.err﹕ at android.app.BackStackRecord.run(BackStackRecord.java:834) 
W/System.err﹕ at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1452) 
W/System.err﹕ at android.app.Activity.performStart(Activity.java:6005) 
W/System.err﹕ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2288) 
W/System.err﹕ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
W/System.err﹕ at android.app.ActivityThread.access$800(ActivityThread.java:151) 
W/System.err﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:102) 
W/System.err﹕ at android.os.Looper.loop(Looper.java:135) 
W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5254) 
W/System.err﹕ at java.lang.reflect.Method.invoke(Native Method) 
W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:372) 
W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

böyle ben 'unlock' bir kilitli nasıl kamera tavsiyelerde Can nedir?

cevap

15

"Kamera hizmetine bağlanılamıyor", (veya başka bir kamera uygulamasının) kameranın düzgün şekilde yayınlanamaması anlamına gelir. Bu, benim de uygulamayı geliştirirken arada sırada oluyordu. Yapacağım ilk şey, kamerayı telefonla gelen varsayılan kamera uygulamasından açmak (sadece “kamera” düğmesine dokunmak). Bu açılmazsa, telefonun yeniden başlatılması tek seçenek oldu.

Bu, spekülasyondur, ancak kodunuz yalnızca ara sıra yüzeyleyen bir hataya sahip olabilir ve şu ana kadar yalnızca tam bir şansla görünmemiştir. Eğer devam ederse, "kamerada kamerayı düzgün bir şekilde nasıl bırakacağınız" ile ilgili soruları kontrol edin. Bununla başa çıkmama yardım ettiler.

0

Bu sizin durumunuzdan haberi olup bilmiyorum ama sadece başıma geldi, ben de paylaşacağımı düşündüm. Benim app aynı şeyi yapıyordu (her ne kadar ben ilk başta görmedim ki Camera.open() etrafında bir deneyin vardı) AMA Ben panonski dedi ve kamera kamera uygulaması kamera döndü ve o olduğunu gördüm gördüm ön taraftaki kamerayı kullanarak. Arka kameraya geri geçiş yapmak, uygulamamın tekrar çalışmasına izin verdi.

Camera.open() - Camera.open (Camera.CameraInfo.CAMERA_FACING_BACK) kullanarak değiştirdim ve şimdi bu kamera daha önce nasıl kaldıysa çalışır. (Galaxy Note 4'ü Kullanma).

Umarım bu yardımcı olur.

13

Android 6.0'dan (API 23 düzeyinde) başlayarak, kullanıcılar uygulamayı yüklediklerinde değil, uygulama çalışırken uygulamalara izinler verir.Bu yaklaşım, uygulamanın kurulumu veya güncellenmesi sırasında kullanıcının izinler vermesi gerekmediğinden, uygulama yükleme işlemini kolaylaştırır. Ayrıca, kullanıcıya uygulamanın işlevselliği üzerinde daha fazla kontrol sağlar; Örneğin, bir kullanıcı, kameraya kamera uygulaması erişimini vermeyi seçebilir, ancak cihaz konumuna olmayabilir. Kullanıcı, uygulamanın Ayarlar ekranına giderek izinleri istediği zaman iptal edebilir. http://developer.android.com/training/permissions/requesting.html

+6

Benim için bu örnek bir uygulama çalıştırmaya çalışırken durum böyle oldu. Hiç izin istemedi ve kamera görüntüsü çalışmadı. ** settings> apps> yourappname> izinler ** seçeneğine gidin ve kamera iznini açın. – Niels

İlgili konular