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" />
4

1 回答 1

0

在此处进行更改

尝试检查:

hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)

反而:

hasSystemFeature(PackageManager.FEATURE_CAMERA)

Nexus 7 只有前置摄像头。

Android 摄像头选择算法默认为后置摄像头。

于 2013-02-13T07:23:44.793 回答