title: android.hardware.camera2.CameraAccessException
body: <p>I'm receiving this error message while trying get the camera ID list from a  CameraManager instance using the camera2 api:</p>
  
  <p>UnhandledException: android.hardware.camera2.CameraAccessException</p>
  
  <p>Here is my code</p>
  
  <pre><code>    CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
      String cameraId = manager.getCameraIdList()[0];
  </code></pre>
  
  <p>I'm receiving the error message on the second line.  I've set my camera permissions in the manifest and even made sure my physical phone was on, connected and set up for developer mode (even though I don't think that should have any impact), but can't think of anything else that is different from all the simple examples I've seen online.</p>
  
  <p>Below is the full MainActivity code:</p>
  
  <p>Any advice is appreciated...</p>
  
  <pre><code>import android.content.Context;
  import android.content.pm.PackageManager;
  import android.hardware.camera2.CameraManager;
  import android.hardware.camera2.CameraAccessException;
  import android.support.v7.app.ActionBarActivity;
  import android.os.Bundle;
  import android.support.v7.app.AppCompatActivity;
  import android.support.v7.internal.app.ToolbarActionBar;
  import android.support.v7.widget.CardView;
  import android.support.v7.widget.LinearLayoutManager;
  import android.support.v7.widget.RecyclerView;
  import android.view.Menu;
  import android.view.MenuItem;
  import android.view.View;
  import android.widget.Toolbar;
  
  import com.google.zxing.integration.android.IntentIntegrator;
  
  import org.joda.time.DateTime;
  
  import java.util.ArrayList;
  import java.util.List;
  
  import Model.Consumer;
  import Model.Plan;
  import Model.Product;
  import Model.ProductInfo;
  import Model.Retailer;
  import Model.Transaction;
  
  
  public class MainActivity extends AppCompatActivity {
  
  private android.support.v7.widget.Toolbar toolbar;
  
  private RecyclerView recList;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.tool_bar);
      setSupportActionBar(toolbar);
  
      recList = (RecyclerView) findViewById(R.id.cardList);
      //recList.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
  
      // use this setting to improve performance if you know that changes
      // in content do not change the layout size of the RecyclerView
      recList.setHasFixedSize(true);
  
      // use a linear layout manager
      LinearLayoutManager llm = new LinearLayoutManager(this);
      llm.setOrientation(LinearLayoutManager.VERTICAL);
      recList.setLayoutManager(llm);
  
      ProductAdapter pa = new ProductAdapter(createDummyProduct());
      recList.setAdapter(pa);
  
  }
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.menu_main, menu);
      return true;
  }
  
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
      // Handle action bar item clicks here. The action bar will
      // automatically handle clicks on the Home/Up button, so long
      // as you specify a parent activity in AndroidManifest.xml.
      int id = item.getItemId();
  
      //noinspection SimplifiableIfStatement
      if (id == R.id.action_settings) {
          return true;
      }
      else if (id == R.id.action_add) {
  
      }
  
      return super.onOptionsItemSelected(item);
  }
  
  public void scanBarcodeFrontCamera(View view) {
      if (hasCamera(this)) {
          CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
          String cameraId = manager.getCameraIdList()[0];
  
      }
      //IntentIntegrator integrator = new IntentIntegrator(this);
      //integrator.setCameraId(CameraDevice);
      //integrator.initiateScan();
  }
  
  private boolean hasCamera(Context context) {
  //        if     (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)){
  //            // this device has a camera
  //            return true;
  //        } else {
  //            // no camera on this device
  //            return false;
  //        }
          return true;
      }
  }
  </code></pre>