在我的应用程序中,如果设备有相机,我想使用相机.有没有运行Android的设备没有摄像头?通过在我的清单中包含以下内容:
<uses-feature android:name="android.hardware.camera" android:required="false"/>
Run Code Online (Sandbox Code Playgroud)
然后它基本上说"我会使用相机,如果存在,但不需要一个运行应用程序".
在尝试使用Camera类之前,如何检查设备上是否存在相机?
我想在尝试打开qr代码阅读器之前检查设备是否有任何相机.
我有以下代码:
public boolean checkDeviceCompatibility() {
PackageManager pm = context.getPackageManager();
if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)) {
if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
return true;
} else {
// use front camera
Toast.makeText(
context,
"This device does not have a back camera so it has automatically reverted to the front camera",
Toast.LENGTH_SHORT).show();
return true;
}
} else {
util.displayErrorDialog(
context,
"This device does not have any cameras and therefore cannot make use of the QR Code feature.");
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
但现在,如果我在我的Galaxy S3上使用两个摄像头以调试模式运行此代码.第一个if语句返回false.
为什么会这样?
camera android android-hardware android-package-managers android-camera