2013-02-13 65 views
0

我已将相机集成到了我的应用程序中。当我在模拟器上运行时,下面的代码工作正常,并且我在ADB中选择了摄像头作为我的摄像头。但是当我在像Nexus 7这样的实际设备上运行时,我的应用程序无法检测到相机。相机在这款平板电脑上独立工作,但不在我的应用程序中。相机无法在实际设备上工作

CameraActivity.java

//I've imported hardware camera class 
    import android.hardware.Camera; 
    import android.hardware.Camera.CameraInfo; 

    // Some activity code 
    if (!getPackageManager(). 
     hasSystemFeature(PackageManager.FEATURE_CAMERA)) { // Issue is coming from here. 
     Toast.makeText(this, "No camera on this device", Toast.LENGTH_LONG) 
      .show(); 
    } else { 
     cameraId = findFrontFacingCamera(); 
     if (cameraId < 0) { 
     Toast.makeText(this, "No front facing camera found.", 
      Toast.LENGTH_LONG).show(); 
     } else { 
     camera = Camera.open(cameraId); 
     } 
    } 

Mainfest.xml

<uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.CAMERA"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" > 
    </uses-permission> 

    <uses-feature android:name="android.hardware.camera" /> 
    <uses-feature android:name="android.hardware.camera.autofocus" /> 

回答

0

使这里的变化

尝试检查:

hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)

相反:仅具有前置摄像头

hasSystemFeature(PackageManager.FEATURE_CAMERA)

的Nexus 7。

Android相机选择算法默认为后置相机。

相关问题