只有一个带有Camera2和旧相机API的APK

时间:2016-12-14 14:31:20

标签: android camera2

我有一个使用camera2 API和旧相机版本的应用程序。问题是我需要用minSdkVersion 16生成一个APK,而camera2不能一起编译,原因很明显。

我通过为Camera2制作独家照片应用程序快速解决了这个问题。我检测到用户的Android版本,如果大于或等于5.0(21),则触发此特定应用的Intent。我无法为这个问题找到一个优雅的解决方案。

那么......在这种情况下我怎样才能生成APK?

1 个答案:

答案 0 :(得分:0)

选项A:使用两个API

步骤1:将compileSdkVersion设置为21或更高。理想情况下,将其设置为25,以获取最新版本的Android。

步骤2:为两个API编写代码。

步骤3:当设备运行Android 5.0 +时,只调用使用android.hardware.camera2类的代码:

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP) {
  // use camera2
}
else {
  // use Camera
}

选项B:仅使用经典相机API

android.hardware.Camera适用于Android 7.1和旧版设备。在从Android SDK中移除android.hardware.Camera之前,只需使用它即可。但是,您将无法利用android.hardware.camera2类提供的任何新功能。