在某些设备上,当您的应用启动相机 Activity 时,可能会遇到返回 null 的情况。这是由于某些设备的相机支持不完整,导致相机 Activity 获取数据失败。
为了解决这个问题,建议您使用以下代码来检查相机是否可用:
if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)){ // 相机可用 // 启动相机 Activity } else { // 相机不可用 }
这里使用了 getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA) 方法来检查设备是否有相机功能。如果没有,则不会启动相机 Activity,从而避免出现返回 null 的情况。
也可以使用以下代码来获取设备的相机信息:
Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
List
这里使用了 Camera 类的 open() 方法来打开相机,并使用 getParameters() 方法来获取相机参数。然后,使用 getSupportedFlashModes() 方法来获取相机支持的闪光灯模式列表,使用 getSupportedPreviewSizes() 方法来获取相机支持的预览尺寸列表。最后,使用 release() 方法释放相机。
以上是解决 Android 某些设备的相机活动返回 null 的方法。希望对您有所帮助。