如何使用Cordova检查android设备中是否存在摄像头?

如何使用Cordova检查android设备中是否存在摄像头?,android,camera,cordova-2.0.0,Android,Camera,Cordova 2.0.0,我可以知道如何在android设备中测试摄像头的存在吗?我想让这个选项成为可选的,所以如果有摄像头,某些功能应该可以工作,否则他们应该显示摄像头不存在,所以这个功能不可用。或者,如果相机不可用,至少隐藏该选项 我不想做任何Java编码,因为ApacheCordova纯粹是基于javascript的。我想签入javascript。试试这些,使用最适合您的需要和目标平台的脚本 1)这不是一个好方法,因为它必须打开摄像头。但它应该会起作用, private android.hardware.Camer

我可以知道如何在android设备中测试摄像头的存在吗?我想让这个选项成为可选的,所以如果有摄像头,某些功能应该可以工作,否则他们应该显示摄像头不存在,所以这个功能不可用。或者,如果相机不可用,至少隐藏该选项


我不想做任何Java编码,因为ApacheCordova纯粹是基于javascript的。我想签入javascript。

试试这些,使用最适合您的需要和目标平台的脚本

1)这不是一个好方法,因为它必须打开摄像头。但它应该会起作用,

private android.hardware.Camera mCameraDevice;

try {
  mCameraDevice = android.hardware.Camera.open();
} catch (RuntimeException e) {
  Log.e(TAG, "fail to connect Camera", e);
  // Throw exception
}
或者这是最好的方法

import android.content.pm.PackageManager;

PackageManager pm = context.getPackageManager();

if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
}


谢谢你的快速回答。我需要用javascript来签入Cordova。你应该在前面的问题中提到这一点。我很抱歉。问题中提到了这一点。为了清楚起见,我再次重申了描述。没有问题。你试过这个吗?hasOwnProperty('camera')将试用它并让您知道。谢谢
import android.hardware.Camera;

int numCameras = Camera.getNumberOfCameras();
if (numCameras > 0) {
  hasCamera = true;
}