在android中使用没有预览或表面的相机
Posted
技术标签:
【中文标题】在android中使用没有预览或表面的相机【英文标题】:Using Camera without preview or surface in android 【发布时间】:2013-02-23 03:59:14 【问题描述】:我正在寻找一种在没有表面视图或预览的情况下在 android 设备上使用相机的方法。我发现,没有那个预览是不可能拍照的。但是,我发现了一个教程,它实际上是在没有预览的情况下拍照。这是链接:http://www.vogella.com/articles/AndroidCamera/article.html
在将代码中的摄像头从正面切换到背面后,应用程序并没有崩溃,但它给了我一个错误 100。所以它目前只能使用前置摄像头。
我使用的是三星 Galaxy S3(4.1.2),我将在 Galaxy S2 和 Galaxy S3 Mini 上对其进行测试。
有人对此有很好的解释吗?
【问题讨论】:
好的,我用 Android SDK 的 Emulator(Android 2.3.3) 进行了尝试,但应用程序崩溃了。所以我不确定它是否只适用于真实设备。 【参考方案1】:如果不开始预览,您将无法拍照。
虽然某些 Android 设备更灵活,允许在不运行预览的情况下调用 takePicture,但这在技术上违反了 API 规范。
它不适用于大量设备,因此请不要依赖它。该教程是错误的,并且可能仅在允许此行为的设备之一上进行了测试。
如果您不想要可见的预览,请参阅 this question 了解在 Android 版本 >= 3.0 中执行此操作的方法。
【讨论】:
感谢您的评论。本教程仅适用于当前至少具有 Android 4.0 版本的某些设备。为了以后的发展,我会记住你的答案。【参考方案2】:其实问答的时间间隔很大,但可能对别人有帮助。
你可以试试这个图书馆,甚至从服务中拍照:
https://github.com/kevalpatel2106/android-hidden-camera
它使用一项功能来绘制其他应用程序并创建一个假表面。希望对您有所帮助。
【讨论】:
以上是关于在android中使用没有预览或表面的相机的主要内容,如果未能解决你的问题,请参考以下文章