我想构建一个应用程序,其中使用设备的前置摄像头将当前图像投影到SurfaceView
。到目前为止,我找到的所有教程都是通过使用android.hardware包中的Camera
对象来实现的。
然而,这种方法似乎已被弃用。当尝试在Android documentation之后实现此功能的“新”首选方式时,我收到警告,它只能与API级别21一起使用,这是非常无用的。
所以我想知道目前在应用程序中实现相机功能的首选方法。或者是否有一些API级别低于21的支持库?
提前致谢。
答案 0 :(得分:11)
不推荐使用的界面并不意味着您不应该使用它。这意味着您应该知道它将来会逐步淘汰。
作为一般规则,如果可能,最好使用更新的界面,以避免以后需要更新软件。
API级别21尚未拥有足够大的市场份额这一事实意味着您现在可能最好使用旧界面,请记住,在一两年内,您可能需要更新实施
答案 1 :(得分:4)
我认为您可以在两组API中实现相机功能,然后首先检查设备的构建版本,然后决定调用哪一个实现。
例如:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
openCameraNewAPI();
}else{
openCameraOldAPI();
}