我是android开发的初学者,我在使用android.hardware.camera2方面遇到了问题,因为我的最小sdk是API16。所以我现在想做的是能够使用这个类,但同时我仍然可以确保使用较低SDK的人仍然可以使用它。
我是否应该将最小的SDK版本变成API 21,并为版本较低的用户创建一个if else语句?还是有别的办法?
更新:我无法导入android.hardware.camera,那么我将如何在if only语句中使用它(如果它是唯一的选项)?
发布于 2018-01-06 17:55:53
您不需要使用minSdkVersion≥21来使用camera2 API。您甚至不需要设置targetSdkVersion.您所需要的只是compileSdkVersion be≥21 (在开发时使用最新的API是一个很好的实践)。
因为min API > 4,所以您可以简单地在下的块中使用新的camera2 API。这是安卓系统普遍接受的做法,尽管一些软件纯粹主义者坚持要对android.hardware.camera2.CameraManager
类的存在进行运行时检查。
您应该隔离使用不推荐的Camera的代码,并用注释@TargetApi(16)
或@SuppressWarnings("deprecation")
标记这些方法。
https://stackoverflow.com/questions/48126228
复制相似问题