当前位置: 首页 > 知识库问答 >
问题:

如何使用Android的camera或camera2 API来支持新旧API版本而不使用贬低说明?

谢志用
2023-03-14

但是,当我试图将“camera”API(Android.hardware.camera)添加到清单的用户特性中时,它被标记为deprecated。另一方面,我不能将它更改为“Camera2”API(Android.hardware.camera2),因为它只兼容Android API21+(Android 5-Lollipop)--也会链接它,但我只能添加2个链接。

我不仅想让我的应用程序在旧版本的Android上运行,而且要在最新版本的Android上运行...

共有1个答案

姚正真
2023-03-14

尽管旧的相机API被标记为不推荐使用,但它仍然是完整的功能,并将在相当长的一段时间内保持如此(因为目前Play Store上几乎所有使用相机的应用程序都在使用它)。

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

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

 类似资料:
  • 我在多台PC上有多个版本的,其中一些具有最新版本,即,有些具有较旧的版本。 我已经按照这个设置与,下一代支持Firefox 47版自动化如下:- 它在Firefox版本47上运行良好,但当我在安装Firefox旧版本的其他PC上运行相同时,它会给出如下:- 原因:org.openqa.selenium.remote。无法访问BrowserException:无法sta rt新会话。可能的原因是远程

  • 在生成APK时,我得到了一个错误:项目使用的是一个不受支持的Gradle版本。我正在使用Android Studio3.5版本。 我试图更改build gradle类路径以匹配gradle-wrapper.properties中的distributionUrl,但是错误仍然存在。 首先,在项目级设置中,选择Use default gadle wrapper。 build.gradle文件:

  • 问题内容: 我正在尝试在android上以编程方式复制文本,提供这些行的另一个问题是投票率最高的答案,但是使用它们时出现错误:类需要API级别11(当前最小值为8): 我直接从问题中复制了这些行。经过尝试后, 我进行了测试,但它也产生了一个错误以及有关ClipboardManager被弃用的警告。 我的应用开始支持Android 2.2(我认为是API 8),如何复制文本,使其可在所有版本的and

  • 问题内容: 我想将我的.java(几个)编译成至少与Java 兼容的,较新的(最好是较新的)版本。(我有) 问题答案: 是的,您可以在编译时设置编译器的版本。并将您的Java代码编译为Java的旧版本。 从Oracle文章:http : //docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javac.html 交叉编译示例 在这里,我们使用ja

  • 我正在研究Google Play商店中流行的应用程序需要什么最低版本的Android操作系统,但我很难找到某些应用程序的信息,整个最低操作系统版本“因设备而异”,如这张Facebook应用程序的截图所示: 我知道我可以通过尝试在运行不同操作系统版本的设备上安装应用程序来回答我的问题,但如果你想找出10个应用程序的最低版本,那么这将是一个巨大的任务。 有没有一种简单的方法可以找到Google Pla

  • 需要什么步骤来使用这个库和构建我的应用程序与multidex支持?