La camera Android si blocca dopo aver scattato una foto

Sto facendo un progetto con camera e dopo aver congelato una camera e u dovrei terminare l'attività e ricordo di nuovo per prendere un'altra foto, come posso prendere la congelazione della foto per solo 1-2 secondi e poi la vista in superficie per avere di nuovo la camera. lo stesso per il video sto usando il registratore multimediale, prendendo video fermata video salva video e lo schermo è ancora vivo, ma non riesco a riprenderlo nuovamente devo riavviare l'attività?

Chiunque ha una soluzione?

  • ConstraintLayout: cosa fa `layout_constraintLeft_creator` in xml?
  • Come si combinano i dati da due tabelle separate in un singolo cursore?
  • Dovrebbe "android: onOptionsItemSelected" restituire true o false
  • PreferenceScreen - <intent ... /> - Eccezione - FLAG_ACTIVITY_NEW_TASK
  • Richiesta HTTP per il file XML
  • Gradle build funziona per sempre su una installazione pulita e un progetto vuoto
  • come get l'url del webView
  • Android AlertDialog setOnDismissListener per API inferiore a 17
  • Intento della camera con parametri di risoluzione in Android
  • Imansible abbassare il text del button di casi nello studio android
  • Aggiorna una pagina in ionic2
  • Quale Android IDE è migliore - Android Studio o Eclipse?
  • 6 Solutions collect form web for “La camera Android si blocca dopo aver scattato una foto”

    Fare qualsiasi elaborazione di immagini in un background AsyncTask . Ciò consentirà all'attività dell'interface utente di continuare e di riprendere un'altra image.

    Modifica: Non riesco a cancellare una risposta accettata, perciò vedi la risposta di stoefin qui sotto. Chiamare camera.startPreview() prima di prendere la foto successiva funziona per lui.

    Ho trovato una soluzione per questo: Dopo aver scattato una foto, l'anteprima di anteprima si è fermata. Per prendere più foto, call prima camera.startPreview() .

    dopo aver catturato l'image è necessario interrompere l'anteprima e riprenderlo.

     mCamera.stopPreview(); mCamera.startPreview(); 

    functionrebbe bene.

    La camera.startpreview (); la risposta non ha funzionato per il mio caso, ma il codice qui sotto ha risolto quel problema per me e spero che aiuta anche gli altri. Ho usato un thread per ritardare la chiusura e l'apertura della camera dopo che una foto viene catturata da 500ms

      private void start_camera() { try { camera = Camera.open(); // camera.lock(); } catch (RuntimeException e) { Log.e(tag, "init_camera: " + e); return; } Camera.Parameters param = camera.getParameters(); param = camera.getParameters(); Camera.Size size = param.getSupportedPreviewSizes().get(0); param.setPreviewSize(size.width, size.height); camera.setParameters(param); try { camera.setPreviewDisplay(surfaceHolder); camera.startPreview(); previewRunning = true; } catch (Exception e) { Log.e(tag, "init_camera: " + e); return; }} private void captureImage() { camera.takePicture(shutterCallback,null,jpegCallback); Thread restart_preview=new Thread(){public void run(){ try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } camera.release(); camera=null; start_camera(); }}; restart_preview.start();} 

    Invece di utilizzare le attività definite dall'applicazione di camera esistente sul telefono, è ansible scrivere la propria attività che utilizza direttamente l'API Camera per eseguire le funzionalità descritte. La class Camera è documentata qui: http://developer.android.com/reference/android/hardware/Camera.html

    La camera è in freddo perché non si riavvia l'anteprima della camera, quindi riavviamola chiamando camera.startpreview()

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.