如何使用Android的相机或camera2 API来支持旧版和新版API版本,而不使用弃用说明?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (865)

我尝试将“Camera”API (android.hardware.Camera)添加到清单的用户功能时,它被标记为已弃用。另一方面,我不能将它更改为“camera2”API (android.hardware.camera2),因为它仅与Android API 21+(Android 5 - Lollipop)兼容 - 也将其链接,我只能添加2个链接。

提问于
用户回答回答于

尽管旧的相机API被标记为不推荐使用,但它仍然具有完整的功能,并且会保持这种状态很长时间(因为Play商店中几乎所有使用相机的应用程序都使用它)。

你必须忽略Android Studio关于它被弃用的抱怨,但是如果你想支持早于21的Android版本,你必须使用旧的API。

用户回答回答于

把你需要的相机中的所有方法放在一个界面中,然后像这样创建一个相机实例:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Log.d(TAG, "camera2 selected");
        this.camera = new Camera2(getContext());
    } else {
        Log.d(TAG, "camera1 selected");
        this.camera = new Camera1(getContext());
    }

扫码关注云+社区

领取腾讯云代金券