首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用安卓的camera或者API接口来支持新旧的camera2版本而不使用弃用说明?

如何使用安卓的camera或者API接口来支持新旧的camera2版本而不使用弃用说明?
EN

Stack Overflow用户
提问于 2014-12-03 21:22:53
回答 7查看 87.5K关注 0票数 136

新的camera2应用程序接口把我搞糊涂了。我想开发一个应用程序(为安卓API10- 21),使用设备的摄像头。正如here所说的,我应该使用"Camera“接口。

但是,当我尝试向清单的用户特性it is marked as deprecated添加"Camera“接口(android.hardware.Camera)时。另一方面,我不能将它更改为"camera2“接口(android.hardware.camera2),因为它只与Android API 21+ (Android 5-棒棒糖)兼容-我也会链接它,但我只能添加2个链接。

我不仅希望我的应用程序能在老版本的Android上运行,也希望能在最新版本的Android上运行。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-02-10 03:12:29

即使旧的相机API被标记为弃用,它仍然是完全有效的,并将在相当长的一段时间内保持这种状态(因为目前Play Store上几乎所有使用相机的应用程序都在使用它)。

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

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

票数 154
EN

Stack Overflow用户

发布于 2015-09-11 16:54:14

将您需要的来自camera的所有方法放在一个接口中,然后创建一个camera实例,如下所示

代码语言:javascript
复制
    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());
    }

这样你就可以把所有的东西分开,这会让你的生活变得更容易。

建议一句--与camera2的生活并不是那么美好。供应商仍然做垃圾实现,因此您将不得不添加许多条件和变通方法。

示例1- S6报告它不支持闪存:)示例2- LG设备报告了支持的图像大小列表-但并不是所有的图像大小实际上都受支持!

票数 39
EN

Stack Overflow用户

发布于 2014-12-26 21:42:56

要支持您想要的api,请使用以下代码。只需确定与api级别对应的适当名称即可。例如,API21是棒棒糖,API15是ICE_CREAM_SANDWICH_MR1。

代码语言:javascript
复制
 if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)  
                                    && ((Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP))) {
           // your code here - is between 15-21

 } else if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
           // your code here - is api 21
 }
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27272845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档