android - 如何使用 Android 的 camera 或 camera2 API 来支持新旧 API 版本而没有弃用说明?

标签 android camera android-camera android-camera2

新的 camera2 API 让我很困惑。我想开发一个使用设备摄像头的应用(适用于 Android API 10 - 21)。如前所述here ,我应该使用“相机”API。

但是,当我尝试将“相机”API (android.hardware.Camera) 添加到 list 的用户功能时,it is marked as deprecated .另一方面,我无法将其更改为“camera2”API (android.hardware.camera2),因为它仅与 Android API 21+(Android 5 - Lollipop)兼容 - 会链接它也是,但我只能添加 2 个链接。

我不仅希望我的应用在旧版 Android 上运行,而且还希望在最新版本上运行...

最佳答案

即使旧的相机 API 被标记为已弃用,它仍然可以正常工作,并且会在很长一段时间内保持这种状态(因为目前 Play 商店中几乎所有使用相机的应用程序都在使用它)。

您必须忽略 Android Studio 关于它已被弃用的提示,但如果您想支持早于 21 的 Android 版本,则必须使用旧 API。

在 API 级别 21 上,您当然可以使用新的 API 及其新功能,但目前如果您在 API 之间切换,您必须在应用中维护一个完全独立的流程。不幸的是,这两个 API 具有足够不同的世界观,因此很难编写一个支持库来让您在旧设备上也使用类似新 API 的东西(如果没有,库从新 API 映射到旧 API API 21+)。

关于android - 如何使用 Android 的 camera 或 camera2 API 来支持新旧 API 版本而没有弃用说明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27272845/

相关文章:

c# - 如何创建 Xamarin 前台服务

iOS 相机视频实时预览与拍摄的照片有偏移

Android - 确保通过 Camera Intent 拍照时保留照片方向?

c++ - 更新固件\SDK 后无法在 PTGRey 相机(Dragonfly express)上开始捕获

Android Camera2 预览和捕获 4 :3 aspect ratio but width > height

java - Android 对话框 wrap_content 不工作

android - 处理多次按下按钮的最佳实践

angular - ionic 相机插件可以在 Android 应用程序中工作,但不能在移动浏览器中工作?

java - 如何每500ms获取一次相机预览帧

android - Crashlytics 不显示 native 崩溃