基于ANDROID系统的摄像头安全切换方法.pdf

上传人:Y94****206 文档编号:624190 上传时间:2018-02-26 格式:PDF 页数:8 大小:675.19KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410386477.8

申请日:

2014.08.07

公开号:

CN104133711A

公开日:

2014.11.05

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/445申请日:20140807|||公开

IPC分类号:

G06F9/445

主分类号:

G06F9/445

申请人:

深圳市元征科技股份有限公司

发明人:

刘均; 谢飞虹

地址:

518000 广东省深圳市龙岗区坂雪岗工业区五和大道北元征工业园

优先权:

专利代理机构:

北京中济纬天专利代理有限公司 11429

代理人:

张晓霞

PDF下载: PDF下载
内容摘要

本发明提供了一种基于Android系统的摄像头安全切换方法,该方法为:在前/后置摄像头与usb摄像头之间相互切换时,先关闭当前的Camera活动,再重新启动Camera活动并加载切换后摄像头相关的硬件抽象层。本发明实施例,不仅保留了内外置摄像头与usb摄像头各自的硬件优化特性,而且由于在切换过程中会重新启动Camera活动,从而保证了前/后置摄像头与usb摄像头之间自由安全地切换,避免了不良现象的发生。

权利要求书

1.  一种基于Android系统的摄像头安全切换方法,其特征在于,在前/后置摄像头与usb摄像头之间相互切换时,先关闭当前的Camera活动,再重新启动Camera活动并加载切换后摄像头相关的硬件抽象层。

2.
  如权利要求1所述的基于Android系统的摄像头安全切换方法,其特征在于,该方法中,由前/后置摄像头切换至usb摄像头的方法具体包括步骤:
实时检测usb摄像头是否存在,在检测到usb摄像头存在时,执行下一步;
设置usb摄像头设备打开标记为真,同时检查当前Camera活动是否已启动,若已经启动,则发出关闭Camera活动的通知;
关闭Camera活动;
重新启动Camera活动,同时加载usb摄像头相关的硬件抽象层。

3.
  如权利要求1所述的基于Android系统的摄像头安全切换方法,其特征在于, 该方法中,由usb摄像头切换至前/后置摄像头的方法具体包括步骤:
实时检测usb摄像头是否仍存在,在检测到usb摄像头不存在时,执行下一步;
设置usb摄像头设备打开标记为假,同时检查当前Camera活动是否已启动,若已经启动,则发出关闭Camera活动的通知;
关闭Camera活动;
重新启动Camera活动,并加载前/后置摄像头相关的硬件抽象层。

4.
  如权利要求2或3所述的基于Android系统的摄像头安全切换方法,其特征在于,该方法还包括:在Android Camera架构中的Camera JNI层增设一用于检测usb摄像头是否存在的检测接口。

5.
  如权利要求4所述的基于Android系统的摄像头安全切换方法,其特征在于,该方法中,在Android系统服务进程中开启一线程,通过该线程来定时调用所述检测接口以检测usb摄像头是否存在。

6.
  如权利要求5所述的基于Android系统的摄像头安全切换方法,其特征在于,该方法中,在Android系统的System UI Service服务进程中开启所述线程。

7.
  如权利要求5所述的基于Android系统的摄像头安全切换方法,其特征在于,该方法中,所述线程每两秒钟调用一次所述检测接口以执行检测操作。

说明书

基于Android系统的摄像头安全切换方法
 
技术领域
本发明涉及摄像头的切换技术领域,尤其涉及一种基于Android系统的摄像头安全切换方法。
 
背景技术
当前最常用Android 系统基于Linux 内核,对USB 总线接口即插即用和热插拔的支持非常完善,而且USB 接口数据传输速率快,因此通过USB 接口动态连接外围设备可提高移动平台的可扩展性和灵活性,增强移动平台的电源使用效率,满足数据传输的实时性。另外人们习惯通过手机等移动终端以照片或视频的方式实时记录或共享身边珍贵的画面,因此希望移动终端能够实现照相机取景拍照等多媒体应用。如果能够利用USB 接口热插拔和传输速率快的优点,在Android 移动终端上完成摄像头取景拍照的实时数据传输,同时能够与android系统本身存在的内外置摄像头共存使用,那么将会给移动终端使用者提供优秀的用户体验。然而,当前市场上存在的android移动设备基本上不支持内外置摄像头与usb摄像头的自由切换,即使有实现的方案也不是非常稳定,易造成照相程序崩溃现象,且不能实现usb 摄像头的一些特殊硬件特性比如硬件拍照按钮功能的实现。
 
发明内容
本发明的目的在于提供一种基于Android系统的摄像头安全切换方法,实现内外置摄像头与USB摄像头的安全切换,避免不稳定现象的发生。
本发明的目的是通过以下技术方案实现的。
一种基于Android系统的摄像头安全切换方法,包括:在前/后置摄像头与usb摄像头之间相互切换时,先关闭当前的Camera活动,再重新启动Camera活动并加载切换后摄像头相关的硬件抽象层。
优选地, 上述方法中,由前/后置摄像头切换至usb摄像头的方法具体包括步骤:
实时检测usb摄像头是否存在,在检测到usb摄像头存在时,执行下一步;
设置usb摄像头设备打开标记为真,同时检查当前Camera活动是否已启动,若已经启动,则发出关闭Camera活动的通知。
关闭Camera活动;
重新启动Camera活动,同时加载usb摄像头相关的硬件抽象层。
优选地,上述方法中,由usb摄像头切换至前/后置摄像头的方法具体包括步骤:
实时检测usb摄像头是否仍存在,在检测到usb摄像头不存在时,执行下一步;
设置usb摄像头设备打开标记为假,同时检查当前Camera活动是否已启动,若已经启动,则发出关闭Camera活动的通知。
关闭Camera活动;
重新启动Camera活动,并加载前/后置摄像头相关的硬件抽象层。
优选地,上述方法还包括:在Android Camera架构中的Camera JNI层增设一用于检测usb摄像头是否存在的检测接口。
优选地,上述方法中,在Android系统服务进程中开启一线程,通过该线程来定时调用所述检测接口以检测usb摄像头是否存在。
优选地,上述方法中,在Android系统的System UI Service服务进程中开启所述线程。
优选地,上述方法中,所述线程每两秒钟调用一次所述检测接口以执行检测操作。
本发明实施例与现有技术相比,本发明具有以下优点:
本发明实施例,不仅保留了内外置摄像头与usb摄像头各自的硬件优化特性,而且由于在切换过程中会重新启动Camera活动,从而保证了前/后置摄像头与usb摄像头之间自由安全地切换,避免了不良现象的发生。
 
附图说明
图1是本发明较佳实施例提供的Android系统的整体架构图;
图2是本发明较佳实施例提供的Android Camera架构图;
图3是本发明较佳实施例提供的由前/后置摄像头切换至usb摄像头的方法流程图;
图4是本发明较佳实施例提供的由usb摄像头切换至前/后置摄像头的方法流程图。
 
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,Android 平台的架构从上至下包含了五个部分:应用程序(Application)、应用框架(Application Framework)、开发库(Libraries)、运行时环境(Android Runtime)以及Linux 内核 (Linux Kernel)。下面将分别介绍。
1. 应用程序(Applicatiom)
Android 将一系列核心应用程序包一同发布,主要包括Launcher、 Settings、 Camera等。
2. 应用框架 (Application Framework)
为了简化程序组件的重用,便于程序组件的替换,Android 设计了API 框架,提供了一系列服务和系统,如:Activity manager、Windows manager;
3. 开发库(Libraries)
Android 包含一套C/C++开发库,主要包括:libc、SQLite 等。
4. 运行时环境(Android Runtime)
Android 包含一套虚拟机Dalvik,该虚拟机为Java 应用程序提供自己的进程空间,其底层依赖于Linux 内核的一些功能实现,如线程机制和底层内存管理机制。
5. Linux 内核(Linux Kernel)
Android 内核基于Linux 2.6 内核,在此基础上增加了Binder(IPC)Driver、Power Driver等。其中Binder Driver用于上层用户进程间通信的底层实现,如照相机通过Binder 机制完成进程间的通信。
请参阅图2所示的Android Camera 架构。
在内核驱动层(Linux Kernel),Binder Driver为进程间通信提供底层共享内存的管理接口,而USB 接口的摄像头驱动(USB Camera Driver)针对具体的USB 摄像头设备提供打开、控制、读写等管理操作接口。
开发库(Libraries)主要分为三部分:一是进程间通信IPC 上层的具体实现模块,将调用底层Binder Driver的管理接口,从而使得服务端CameraServer 与客户端CameraClient 能够完成依赖调用以及消息传递。二是硬件抽象层HAL,具体包括CameraHardware 和V4L2Camera,前者为服务器端CameraServer 提供具体的调用接口,后者操作USB 摄像头驱动生产的设备文件,如打开open、控制ioctl、读写read/write 等。三是动态库Library 为上层提供的JNI 接口,便于应用框架层的调用。

基于ANDROID系统的摄像头安全切换方法.pdf_第1页
第1页 / 共8页
基于ANDROID系统的摄像头安全切换方法.pdf_第2页
第2页 / 共8页
基于ANDROID系统的摄像头安全切换方法.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《基于ANDROID系统的摄像头安全切换方法.pdf》由会员分享,可在线阅读,更多相关《基于ANDROID系统的摄像头安全切换方法.pdf(8页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104133711A43申请公布日20141105CN104133711A21申请号201410386477822申请日20140807G06F9/44520060171申请人深圳市元征科技股份有限公司地址518000广东省深圳市龙岗区坂雪岗工业区五和大道北元征工业园72发明人刘均谢飞虹74专利代理机构北京中济纬天专利代理有限公司11429代理人张晓霞54发明名称基于ANDROID系统的摄像头安全切换方法57摘要本发明提供了一种基于ANDROID系统的摄像头安全切换方法,该方法为在前/后置摄像头与USB摄像头之间相互切换时,先关闭当前的CAMERA活动,再重新启动CAMERA。

2、活动并加载切换后摄像头相关的硬件抽象层。本发明实施例,不仅保留了内外置摄像头与USB摄像头各自的硬件优化特性,而且由于在切换过程中会重新启动CAMERA活动,从而保证了前/后置摄像头与USB摄像头之间自由安全地切换,避免了不良现象的发生。51INTCL权利要求书1页说明书3页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书3页附图3页10申请公布号CN104133711ACN104133711A1/1页21一种基于ANDROID系统的摄像头安全切换方法,其特征在于,在前/后置摄像头与USB摄像头之间相互切换时,先关闭当前的CAMERA活动,再重新启动CAMERA活动。

3、并加载切换后摄像头相关的硬件抽象层。2如权利要求1所述的基于ANDROID系统的摄像头安全切换方法,其特征在于,该方法中,由前/后置摄像头切换至USB摄像头的方法具体包括步骤实时检测USB摄像头是否存在,在检测到USB摄像头存在时,执行下一步;设置USB摄像头设备打开标记为真,同时检查当前CAMERA活动是否已启动,若已经启动,则发出关闭CAMERA活动的通知关闭CAMERA活动;重新启动CAMERA活动,同时加载USB摄像头相关的硬件抽象层。3如权利要求1所述的基于ANDROID系统的摄像头安全切换方法,其特征在于,该方法中,由USB摄像头切换至前/后置摄像头的方法具体包括步骤实时检测USB。

4、摄像头是否仍存在,在检测到USB摄像头不存在时,执行下一步;设置USB摄像头设备打开标记为假,同时检查当前CAMERA活动是否已启动,若已经启动,则发出关闭CAMERA活动的通知关闭CAMERA活动;重新启动CAMERA活动,并加载前/后置摄像头相关的硬件抽象层。4如权利要求2或3所述的基于ANDROID系统的摄像头安全切换方法,其特征在于,该方法还包括在ANDROIDCAMERA架构中的CAMERAJNI层增设一用于检测USB摄像头是否存在的检测接口。5如权利要求4所述的基于ANDROID系统的摄像头安全切换方法,其特征在于,该方法中,在ANDROID系统服务进程中开启一线程,通过该线程来定。

5、时调用所述检测接口以检测USB摄像头是否存在。6如权利要求5所述的基于ANDROID系统的摄像头安全切换方法,其特征在于,该方法中,在ANDROID系统的SYSTEMUISERVICE服务进程中开启所述线程。7如权利要求5所述的基于ANDROID系统的摄像头安全切换方法,其特征在于,该方法中,所述线程每两秒钟调用一次所述检测接口以执行检测操作。权利要求书CN104133711A1/3页3基于ANDROID系统的摄像头安全切换方法0001技术领域0002本发明涉及摄像头的切换技术领域,尤其涉及一种基于ANDROID系统的摄像头安全切换方法。0003背景技术0004当前最常用ANDROID系统基于。

6、LINUX内核,对USB总线接口即插即用和热插拔的支持非常完善,而且USB接口数据传输速率快,因此通过USB接口动态连接外围设备可提高移动平台的可扩展性和灵活性,增强移动平台的电源使用效率,满足数据传输的实时性。另外人们习惯通过手机等移动终端以照片或视频的方式实时记录或共享身边珍贵的画面,因此希望移动终端能够实现照相机取景拍照等多媒体应用。如果能够利用USB接口热插拔和传输速率快的优点,在ANDROID移动终端上完成摄像头取景拍照的实时数据传输,同时能够与ANDROID系统本身存在的内外置摄像头共存使用,那么将会给移动终端使用者提供优秀的用户体验。然而,当前市场上存在的ANDROID移动设备基。

7、本上不支持内外置摄像头与USB摄像头的自由切换,即使有实现的方案也不是非常稳定,易造成照相程序崩溃现象,且不能实现USB摄像头的一些特殊硬件特性比如硬件拍照按钮功能的实现。0005发明内容0006本发明的目的在于提供一种基于ANDROID系统的摄像头安全切换方法,实现内外置摄像头与USB摄像头的安全切换,避免不稳定现象的发生。0007本发明的目的是通过以下技术方案实现的。0008一种基于ANDROID系统的摄像头安全切换方法,包括在前/后置摄像头与USB摄像头之间相互切换时,先关闭当前的CAMERA活动,再重新启动CAMERA活动并加载切换后摄像头相关的硬件抽象层。0009优选地,上述方法中,。

8、由前/后置摄像头切换至USB摄像头的方法具体包括步骤实时检测USB摄像头是否存在,在检测到USB摄像头存在时,执行下一步;设置USB摄像头设备打开标记为真,同时检查当前CAMERA活动是否已启动,若已经启动,则发出关闭CAMERA活动的通知。0010关闭CAMERA活动;重新启动CAMERA活动,同时加载USB摄像头相关的硬件抽象层。0011优选地,上述方法中,由USB摄像头切换至前/后置摄像头的方法具体包括步骤实时检测USB摄像头是否仍存在,在检测到USB摄像头不存在时,执行下一步;说明书CN104133711A2/3页4设置USB摄像头设备打开标记为假,同时检查当前CAMERA活动是否已启。

9、动,若已经启动,则发出关闭CAMERA活动的通知。0012关闭CAMERA活动;重新启动CAMERA活动,并加载前/后置摄像头相关的硬件抽象层。0013优选地,上述方法还包括在ANDROIDCAMERA架构中的CAMERAJNI层增设一用于检测USB摄像头是否存在的检测接口。0014优选地,上述方法中,在ANDROID系统服务进程中开启一线程,通过该线程来定时调用所述检测接口以检测USB摄像头是否存在。0015优选地,上述方法中,在ANDROID系统的SYSTEMUISERVICE服务进程中开启所述线程。0016优选地,上述方法中,所述线程每两秒钟调用一次所述检测接口以执行检测操作。0017本。

10、发明实施例与现有技术相比,本发明具有以下优点本发明实施例,不仅保留了内外置摄像头与USB摄像头各自的硬件优化特性,而且由于在切换过程中会重新启动CAMERA活动,从而保证了前/后置摄像头与USB摄像头之间自由安全地切换,避免了不良现象的发生。0018附图说明0019图1是本发明较佳实施例提供的ANDROID系统的整体架构图;图2是本发明较佳实施例提供的ANDROIDCAMERA架构图;图3是本发明较佳实施例提供的由前/后置摄像头切换至USB摄像头的方法流程图;图4是本发明较佳实施例提供的由USB摄像头切换至前/后置摄像头的方法流程图。0020具体实施方式0021为了使本发明的目的、技术方案及优。

11、点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。0022请参阅图1,ANDROID平台的架构从上至下包含了五个部分应用程序APPLICATION、应用框架APPLICATIONFRAMEWORK、开发库LIBRARIES、运行时环境ANDROIDRUNTIME以及LINUX内核LINUXKERNEL。下面将分别介绍。00231应用程序APPLICATIOMANDROID将一系列核心应用程序包一同发布,主要包括LAUNCHER、SETTINGS、CAMERA等。00242应用框架APPLICATIONFRA。

12、MEWORK为了简化程序组件的重用,便于程序组件的替换,ANDROID设计了API框架,提供了一系列服务和系统,如ACTIVITYMANAGER、WINDOWSMANAGER;3开发库LIBRARIESANDROID包含一套C/C开发库,主要包括LIBC、SQLITE等。说明书CN104133711A3/3页500254运行时环境ANDROIDRUNTIMEANDROID包含一套虚拟机DALVIK,该虚拟机为JAVA应用程序提供自己的进程空间,其底层依赖于LINUX内核的一些功能实现,如线程机制和底层内存管理机制。00265LINUX内核LINUXKERNELANDROID内核基于LINUX2。

13、6内核,在此基础上增加了BINDER(IPC)DRIVER、POWERDRIVER等。其中BINDERDRIVER用于上层用户进程间通信的底层实现,如照相机通过BINDER机制完成进程间的通信。0027请参阅图2所示的ANDROIDCAMERA架构。0028在内核驱动层(LINUXKERNEL),BINDERDRIVER为进程间通信提供底层共享内存的管理接口,而USB接口的摄像头驱动(USBCAMERADRIVER)针对具体的USB摄像头设备提供打开、控制、读写等管理操作接口。0029开发库(LIBRARIES)主要分为三部分一是进程间通信IPC上层的具体实现模块,将调用底层BINDERDRI。

14、VER的管理接口,从而使得服务端CAMERASERVER与客户端CAMERACLIENT能够完成依赖调用以及消息传递。二是硬件抽象层HAL,具体包括CAMERAHARDWARE和V4L2CAMERA,前者为服务器端CAMERASERVER提供具体的调用接口,后者操作USB摄像头驱动生产的设备文件,如打开OPEN、控制IOCTL、读写READ/WRITE等。三是动态库LIBRARY为上层提供的JNI接口,便于应用框架层的调用。说明书CN104133711A1/3页6图1说明书附图CN104133711A2/3页7图2说明书附图CN104133711A3/3页8图3图4说明书附图CN104133711A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1