Note that there are some explanatory texts on larger screens.

plurals
  1. POCamera preview screen black when activity resumes
    primarykey
    data
    text
    <p>I've been trying to get the camera section on my app working for about a week now, and after finally fixing a bug, it has created a new one. </p> <p>When I resume the activity, the preview doesn't work and neither does the recording functions. By looking at Logcat, I found out my <code>Camera</code> object is equal to null and I can't find a away to recreate it. </p> <p>My On Create</p> <pre><code>mCamera = getCameraInstance(); // Create preview view and set it as the content of our activity. mPreview = new CameraPreview(this, mCamera); preview = (FrameLayout) findViewById(R.id.previewer); preview.addView(mPreview); </code></pre> <p>Get Camera Instance Method</p> <pre><code>private Camera getCameraInstance() { Camera c = null; try { //c = Camera.open(); // attempt to get a Camera instance c = this.open(); // attempt to get a Camera instance } catch (Exception e) { // Camera is not available (in use or does not exist) } Log.i("TEST getCameraInstance", "" + c); return c; // returns null if camera is unavailable } </code></pre> <p>My On Pause</p> <pre><code>protected void onPause() { super.onPause(); try { // release the camera immediately on pause event // releaseCamera(); mCamera.stopPreview(); mCamera.setPreviewCallback(null); mCamera.release(); mCamera = null; } catch (Exception e) { e.printStackTrace(); } } </code></pre> <p>My on Resume</p> <pre><code>protected void onResume() { super.onResume(); try { mCamera = Camera.open(); mCamera = getCameraInstance(); Log.i("TEST onresume", "onResume Runing"); Log.i("TEST onresume", "camera " + mCamera); mCamera.setPreviewCallback(null); Log.i("TEST onresume", "camera " + mCamera); //mCamera = getCameraInstance(); Log.i("TEST onresume", "camera " + mCamera); // mCamera.setPreviewCallback(null); mPreview = new CameraPreview(MainRecordScreen.this, mCamera);// set preview Log.i("TEST onresume", "camera " + mCamera); preview.addView(mPreview); Log.i("TEST onresume", "camera " + mCamera); mCamera.startPreview(); } catch (Exception e) { Log.d(TAG, "Error starting camera preview: " + e.getMessage()); } Log.i("TEST onresume", "camera " + mCamera); } </code></pre> <p>My LogCat</p> <pre><code>06-19 06:38:40.223: E/AndroidRuntime(16702): FATAL EXCEPTION: main 06-19 06:38:40.223: E/AndroidRuntime(16702): java.lang.NullPointerException 06-19 06:38:40.223: E/AndroidRuntime(16702): at com.plcd.test.MainRecordScreen.prepareVideoRecorder(MainRecordScreen.java:198) 06-19 06:38:40.223: E/AndroidRuntime(16702): at com.plcd.test.MainRecordScreen.access$7(MainRecordScreen.java:193) 06-19 06:38:40.223: E/AndroidRuntime(16702): at com.plcd.test.MainRecordScreen$3.onClick(MainRecordScreen.java:115) 06-19 06:38:40.223: E/AndroidRuntime(16702): at android.view.View.performClick(View.java:3511) 06-19 06:38:40.223: E/AndroidRuntime(16702): at android.view.View$PerformClick.run(View.java:14105) 06-19 06:38:40.223: E/AndroidRuntime(16702): at android.os.Handler.handleCallback(Handler.java:605) 06-19 06:38:40.223: E/AndroidRuntime(16702): at android.os.Handler.dispatchMessage(Handler.java:92) 06-19 06:38:40.223: E/AndroidRuntime(16702): at android.os.Looper.loop(Looper.java:137) 06-19 06:38:40.223: E/AndroidRuntime(16702): at android.app.ActivityThread.main(ActivityThread.java:4424) 06-19 06:38:40.223: E/AndroidRuntime(16702): at java.lang.reflect.Method.invokeNative(Native Method) 06-19 06:38:40.223: E/AndroidRuntime(16702): at java.lang.reflect.Method.invoke(Method.java:511) 06-19 06:38:40.223: E/AndroidRuntime(16702): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 06-19 06:38:40.223: E/AndroidRuntime(16702): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 06-19 06:38:40.223: E/AndroidRuntime(16702): at dalvik.system.NativeStart.main(Native Method) </code></pre> <p><code>mCamera</code> returns null from the <code>getCameraInstance()</code> method if it helps.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload