相关疑难解决方法(0)

检查设备是否有摄像头?

在我的应用程序中,如果设备有相机,我想使用相机.有没有运行Android的设备没有摄像头?通过在我的清单中包含以下内容:

<uses-feature android:name="android.hardware.camera" android:required="false"/>
Run Code Online (Sandbox Code Playgroud)

然后它基本上说"我会使用相机,如果存在,但不需要一个运行应用程序".

在尝试使用Camera类之前,如何检查设备上是否存在相机?

android android-camera

78
推荐指数
6
解决办法
5万
查看次数

pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)没有给出corerct答案

我想在尝试打开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

1
推荐指数
1
解决办法
3461
查看次数