Android 确定Kindle是否存在摄像头
我正在尝试确定一个特定的Android设备是否有摄像头。Android 确定Kindle是否存在摄像头,android,camera,android-2.2-froyo,kindle-fire,kindle,Android,Camera,Android 2.2 Froyo,Kindle Fire,Kindle,我正在尝试确定一个特定的Android设备是否有摄像头。android.hardware.Camera.open()的文档说明 创建新的摄影机对象以访问设备上的第一个后向摄影机。如果设备没有背面摄像头,则返回null 我正在测试的Kindle(我相信是第一代)没有摄像头,但是open()返回非null。为什么呢?也许是因为亚马逊运行的是具有不同行为的Android分叉版本?是否有其他方法确定设备是否有摄像头?也许这可以帮助您 /** * Determines if the current de
android.hardware.Camera.open()的文档说明
创建新的摄影机对象以访问设备上的第一个后向摄影机。如果设备没有背面摄像头,则返回null
我正在测试的Kindle(我相信是第一代)没有摄像头,但是open()
返回非null
。为什么呢?也许是因为亚马逊运行的是具有不同行为的Android分叉版本?是否有其他方法确定设备是否有摄像头?也许这可以帮助您
/**
* Determines if the current device can handle an image capture action.
* @return true if the device can handle an image capture action. False if it cannot.
*/
protected boolean canHandleCameraIntent() {
final Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
final List<ResolveInfo> results = getPackageManager().queryIntentActivities(intent, 0);
return (results.size() > 0);
}
这是什么KindleFire?很确定这是第一代,没有摄像头。例如,当我运行FB应用程序时,它只允许上传照片,而不允许拍照。OP使用android.hardware.Camera
直接使用相机,而不是通过第三方应用程序。但通过此功能,如果kindle上有相机,他可以继续直接使用相机,否?@PeterJacobs您也可以尝试使用PackageManager吗?:)我认为这是解决问题的最好办法(如果Kindle也能这样做的话)是的,我正在使用PackageManager的代码解决方案,谢谢!。事实上,我发现第二种解决方案存在问题。它只在SDK 17(4.2)中受支持,我需要支持4.2之前的Android版本。如果SDK<17,则PackageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)仅返回false,而不管是否有摄像头!非常误导。
PackageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY);