相机无法在实际设备上工作
问题描述:
我已将相机集成到了我的应用程序中。当我在模拟器上运行时,下面的代码工作正常,并且我在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" />
答
使这里的变化
尝试检查:
hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)
相反:仅具有前置摄像头
hasSystemFeature(PackageManager.FEATURE_CAMERA)
的Nexus 7。
Android相机选择算法默认为后置相机。