分享

android camera :fail to connect to camera service总结

 ProgramBird 2016-10-04


[摘要:敲了一个android camera 的代码。运转后报:fail to connect to camera service的毛病,没法办理,正在网上搜刮了一下,貌似人人皆有那个题目,然则照样没法办理,起首,要正在AndroidManifest.xml文件中]

  敲了一个android camera 的代码。运行后报:fail to connect to camera service的错误,无法解决,在网上搜索了一下,貌似大家都有这个问题,但是还是无法解决,首先,要在AndroidManifest.xml文件中添加权限允许语句:<uses-permission android:name="android.permission.CAMERA" /> ,这个是我忽略了的,本以为添加上去了就可以解决了,但是依旧是这个错误。后来在网上看到一个论坛的回复,他指出,在2.2上运行camera应用没有报错,但是在2.3上运行就会报这个错误,抱着半信半疑的态度,试了一下,果然是这样的,他还指出,是camera.open()函数的问题。2.2版本中camera.open()的open()函数是没有参数的

Camera android.hardware.Camera.open()

public static Camera open ()

Since: API Level 1

Creates a new Camera object to access the first back-facing camera on the device. If the device does not have a back-facing camera, this returns null.

See Also
  • open(int)

而2.3中open函数是有参数的open(int cameraId),

Camera android.hardware.Camera.open(int cameraId)

public static Camera open (int cameraId)

Since: API Level 9

Creates a new Camera object to access a particular hardware camera.

You must call release() when you are done using the camera, otherwise it will remain locked and be unavailable to other applications.

Your application should only have one Camera object active at a time for a particular hardware camera.

Callbacks from other methods are delivered to the event loop of the thread which called open(). If this thread has no event loop, then callbacks are delivered to the main application event loop. If there is no main application event loop, callbacks are not delivered.

Caution: On some devices, this method may take a long time to complete. It is best to call this method from a worker thread (possibly using AsyncTask) to avoid blocking the main application UI thread.

Parameters
cameraIdthe hardware camera to access, between 0 and getNumberOfCameras()-1.
Returns
  • a new Camera object, connected, locked and ready for use.

Throws
RuntimeException if connection to the camera service fails (for example, if the camera is in use by another process).

为了验证是这个函数的问题,我在camera.open()函数进行出错处理

 try{
  mCamera = Camera.open(Camera.getNumberOfCameras()-1);
  }
  catch(RuntimeException e){
   System.out.println("open()方法有问题");
  }

在2.3上运行,报错是nullpointer空指针错误,也打印出“open()方法有问题”这个语句,说明问题真的处在这个函数上,到底参数是多少呢,API上说cameraId的值在0到getNumberOfCameras()-1之间,试过0,也试过getNumberOfCamera-1,但是依旧报错,看来这个问题暂时还无法解决了。。。

相关推荐

感谢关注 Ithao123Android频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!

关键词:

文章点评:


精选专题

Laravel入门教程

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

产品经理职责

随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责

Swift入门学习

Swift是Apple在WWDC2014所发布的一门编程语言,用来撰写OS X和iOS应用程序[1]。在设计Swift时.就有意和Objective-C共存,Objective-C是Apple操作系统在导入Swift前使用的编程语言 Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来使得编程更加简单、灵活和有趣。界面则基于广受人民群众爱戴的Cocoa和Cocoa Touch框架,展示了软件开发的新方向。

php入门到精通

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多