CN104133711B - 基于Android系统的摄像头安全切换方法 - Google Patents

基于Android系统的摄像头安全切换方法 Download PDF

Info

Publication number
CN104133711B
CN104133711B CN201410386477.8A CN201410386477A CN104133711B CN 104133711 B CN104133711 B CN 104133711B CN 201410386477 A CN201410386477 A CN 201410386477A CN 104133711 B CN104133711 B CN 104133711B
Authority
CN
China
Prior art keywords
camera
activities
usb
android system
usb cameras
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410386477.8A
Other languages
English (en)
Other versions
CN104133711A (zh
Inventor
刘均
谢飞虹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Launch Technology Co Ltd
Original Assignee
Shenzhen Launch Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Launch Technology Co Ltd filed Critical Shenzhen Launch Technology Co Ltd
Priority to CN201410386477.8A priority Critical patent/CN104133711B/zh
Publication of CN104133711A publication Critical patent/CN104133711A/zh
Application granted granted Critical
Publication of CN104133711B publication Critical patent/CN104133711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Studio Devices (AREA)

Abstract

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

Description

基于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 接口,便于应用框架层的调用。

Claims (5)

1.一种基于Android系统的摄像头安全切换方法,其特征在于,在前/后置摄像头与usb摄像头之间相互切换时,先关闭当前的Camera活动,再重新启动Camera活动并加载切换后摄像头相关的硬件抽象层;
该方法中,由前/后置摄像头切换至usb摄像头的方法具体包括步骤:
实时检测usb摄像头是否存在,在检测到usb摄像头存在时,执行下一步;
设置usb摄像头设备打开标记为真,同时检查当前Camera活动是否已启动,若已经启动,则发出关闭Camera活动的通知;
关闭Camera活动;
重新启动Camera活动,同时加载usb摄像头相关的硬件抽象层;
该方法中,由usb摄像头切换至前/后置摄像头的方法具体包括步骤:
实时检测usb摄像头是否仍存在,在检测到usb摄像头不存在时,执行下一步;
设置usb摄像头设备打开标记为假,同时检查当前Camera活动是否已启动,若已经启动,则发出关闭Camera活动的通知;
关闭Camera活动;
重新启动Camera活动,并加载前/后置摄像头相关的硬件抽象层。
2.如权利要求1所述的基于Android系统的摄像头安全切换方法,其特征在于,该方法还包括:在Android Camera架构中的Camera JNI层增设一用于检 测usb摄像头是否存在的检测接口。
3.如权利要求2所述的基于Android系统的摄像头安全切换方法,其特征在于,该方法中,在Android系统服务进程中开启一线程,通过该线程来定时调用所述检测接口以检测usb摄像头是否存在。
4.如权利要求3所述的基于Android系统的摄像头安全切换方法,其特征在于,该方法中,在Android系统的System UI Service服务进程中开启所述线程。
5.如权利要求3所述的基于Android系统的摄像头安全切换方法,其特征在于,该方法中,所述线程每两秒钟调用一次所述检测接口以执行检测操作。
CN201410386477.8A 2014-08-07 2014-08-07 基于Android系统的摄像头安全切换方法 Active CN104133711B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410386477.8A CN104133711B (zh) 2014-08-07 2014-08-07 基于Android系统的摄像头安全切换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410386477.8A CN104133711B (zh) 2014-08-07 2014-08-07 基于Android系统的摄像头安全切换方法

Publications (2)

Publication Number Publication Date
CN104133711A CN104133711A (zh) 2014-11-05
CN104133711B true CN104133711B (zh) 2017-08-15

Family

ID=51806397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410386477.8A Active CN104133711B (zh) 2014-08-07 2014-08-07 基于Android系统的摄像头安全切换方法

Country Status (1)

Country Link
CN (1) CN104133711B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394305A (zh) * 2014-11-24 2015-03-04 上海盈方微电子有限公司 一种在安卓系统中支持外部移动摄像头和移动设备上内置摄像头的兼容方法
CN105007431B (zh) * 2015-07-03 2017-11-24 广东欧珀移动通信有限公司 一种基于多种拍摄场景的图片拍摄方法及终端
CN105376494B (zh) * 2015-11-30 2018-11-23 诚迈科技(南京)股份有限公司 一种基于安卓系统支持多路usb摄像头的方法
CN106027884A (zh) * 2016-05-17 2016-10-12 福建星网锐捷通讯股份有限公司 一种android设备使用USB摄像头的方法及系统
CN107465870A (zh) * 2017-07-31 2017-12-12 广东天波信息技术股份有限公司 外接摄像头的替换方法和系统
CN107911541A (zh) * 2017-11-09 2018-04-13 广州视源电子科技股份有限公司 一种基于Android系统的多摄像头切换使用方法和装置
CN110287751A (zh) * 2019-05-30 2019-09-27 江苏智联天地科技有限公司 一种基于高通平台的快速解码系统及方法
CN111163278B (zh) * 2019-12-30 2023-04-07 视联动力信息技术股份有限公司 一种摄像头的控制方法及装置
CN111669496B (zh) * 2020-05-29 2021-07-23 华勤技术股份有限公司 移动终端的双摄的实现方法及移动终端
CA3096312C (en) 2020-10-19 2021-12-28 Light Wave Technology Inc. System for tracking a user during a videotelephony session and method ofuse thereof
CN112685099A (zh) * 2020-12-31 2021-04-20 联想(北京)有限公司 一种处理方法及装置
CN113971048A (zh) * 2021-10-29 2022-01-25 Oppo广东移动通信有限公司 应用程序的启动方法及装置、存储介质及电子设备
CN114047964B (zh) * 2022-01-13 2022-05-10 麒麟软件有限公司 一种在Linux兼容Android系统时使Android支持摄像头热插拔的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102403A (zh) * 2007-07-25 2008-01-09 中兴通讯股份有限公司 手机摄像头作外部设备外接摄像头的视频输入系统及方法
CN102147725A (zh) * 2011-03-29 2011-08-10 福州瑞芯微电子有限公司 一种Android中支持双摄像头的方法
CN202178804U (zh) * 2011-09-14 2012-03-28 舒东风 带外接摄像头的数码影像设备
CN103402004A (zh) * 2013-07-23 2013-11-20 广东欧珀移动通信有限公司 一种预启动移动终端多摄像头的方法
CN103559150A (zh) * 2013-11-08 2014-02-05 深圳市道通科技有限公司 主机外置摄像头的实现方法和装置及移动终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014109515A1 (ko) * 2013-01-08 2014-07-17 Kwon Obong 안드로이드 기기용 usb 카메라

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102403A (zh) * 2007-07-25 2008-01-09 中兴通讯股份有限公司 手机摄像头作外部设备外接摄像头的视频输入系统及方法
CN102147725A (zh) * 2011-03-29 2011-08-10 福州瑞芯微电子有限公司 一种Android中支持双摄像头的方法
CN202178804U (zh) * 2011-09-14 2012-03-28 舒东风 带外接摄像头的数码影像设备
CN103402004A (zh) * 2013-07-23 2013-11-20 广东欧珀移动通信有限公司 一种预启动移动终端多摄像头的方法
CN103559150A (zh) * 2013-11-08 2014-02-05 深圳市道通科技有限公司 主机外置摄像头的实现方法和装置及移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Android的USB照相机的研究与实现;黄波;《中国科技论文在线》;20111209;第1-7页 *

Also Published As

Publication number Publication date
CN104133711A (zh) 2014-11-05

Similar Documents

Publication Publication Date Title
CN104133711B (zh) 基于Android系统的摄像头安全切换方法
KR102445699B1 (ko) 전자 장치 및 그의 동작 방법
EP3057309B1 (en) Method for controlling camera system, electronic device, and storage medium
CN107770477B (zh) 视频通话方法、装置、终端及存储介质
US11450055B2 (en) Displaying method, animation image generating method, and electronic device configured to execute the same
CN103559150B (zh) 主机外置摄像头的实现方法和装置及移动终端
US20180063361A1 (en) Electronic device and method of providing image acquired by image sensor to application
CN110460905A (zh) 基于多设备的视频自动续播方法、装置及存储介质
JP6469313B2 (ja) 情報処理方法、端末、およびコンピュータ記憶媒体
CN105872448A (zh) 一种视频通话中视频图像展示方法及装置
CN108108604A (zh) 一种控制屏幕显示的方法和装置
CN105893078B (zh) 用于控制相机系统的方法、电子装置和存储介质
WO2014201792A1 (zh) 多屏互动方法、装置及终端设备
CN106254807B (zh) 提取静止图像的电子设备和方法
US9922439B2 (en) Displaying method, animation image generating method, and electronic device configured to execute the same
WO2018076939A1 (zh) 视频文件的处理方法和装置
CN103118169A (zh) 一种分享照片或视频的方法及系统
CN105872832A (zh) 视频通话方法和系统以及显示装置
WO2019071618A1 (zh) 一种图像处理方法及设备
CN109005446A (zh) 一种截屏处理方法及装置、电子设备、存储介质
EP4250141A1 (en) Page display method and apparatus, and electronic device and readable storage medium
CN110442407B (zh) 应用程序的处理方法及装置
CN103237117A (zh) Mtk平台的手机实现图片后台旋转的方法及装置
CN107748633A (zh) 终端冻屏的解决方法、终端和计算机可读存储介质
WO2023125316A1 (zh) 视频处理方法、装置、电子设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant