diff options
-rw-r--r-- | src/com/android/camera/CameraActivity.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index 75b761e8c..b75ec1a09 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -16,6 +16,7 @@ package com.android.camera; +import android.hardware.camera2.CameraAccessException; import android.os.Parcel; import android.os.Parcelable; import android.view.Display; @@ -1798,6 +1799,11 @@ public class CameraActivity extends Activity finish(); return; } + if (!cameraConnected()) { + super.onResume(); + Log.v(TAG, "onResume: No camera devices connected."); + finish(); + } SettingsManager settingsManager = SettingsManager.getInstance(); if (settingsManager == null) { SettingsManager.createInstance(this); @@ -1847,6 +1853,17 @@ public class CameraActivity extends Activity sendBroadcast(intent); } + private boolean cameraConnected() { + android.hardware.camera2.CameraManager manager = + (android.hardware.camera2.CameraManager) getSystemService(Context.CAMERA_SERVICE); + try { + return manager.getCameraIdList().length > 0; + } catch (CameraAccessException e) { + e.printStackTrace(); + return false; + } + } + @Override public void onStart() { super.onStart(); |