CN103793246A - 协调摄像头资源的方法及系统 - Google Patents
协调摄像头资源的方法及系统 Download PDFInfo
- Publication number
- CN103793246A CN103793246A CN201410029634.XA CN201410029634A CN103793246A CN 103793246 A CN103793246 A CN 103793246A CN 201410029634 A CN201410029634 A CN 201410029634A CN 103793246 A CN103793246 A CN 103793246A
- Authority
- CN
- China
- Prior art keywords
- application program
- camera
- stacks
- stack top
- stored
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 222
- 238000001514 detection method Methods 0.000 claims description 13
- 239000000725 suspension Substances 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000007599 discharging Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种协调摄像头资源的方法及系统,所述协调摄像头资源的方法包括:管理服务模块接收待启动第一应用程序发送的启动摄像头请求后,当摄像头被进程ID存储于进程堆栈栈顶的第二应用程序占用时,暂停第二应用程序的运行,并控制第二应用程序释放摄像头资源后,第一应用程序启动;当栈顶的第一应用程序退出后,控制进程堆栈执行对应第一应用程序的进程ID出栈,并启动进程ID存储于进程堆栈栈顶的第二应用程序。本发明可以协调不同摄像头的应用程序使用相同的摄像头资源;避免在使用摄像头时造成冲突。
Description
技术领域
本发明涉及摄像头资源的协调领域,尤其涉及协调摄像头资源的方法及系统。
背景技术
随着科学技术的发展,电子设备上的摄像头的应用程序越来越多,且摄像头的应用程序分为前台应用程序和后台应用程序,比如,前台应用程序有拍照,摄像头,远程视频等;后台应用程序有:后台监控,后台人脸检测,距离检测等。如果单独运行某一个应用程序,则直接申请摄像头资源,打开摄像头即可;但是当某个后台应用程序运行并占用摄像头资源,另一个摄像头的应用程序又要运行时,目前主要的处理方式是给用户弹出“摄像头正忙”等提示语,让用户手动关闭当前正在运行的后台应用程序。
该方法的不足之处在于:提示及关闭当前应用程序的后台应用的过程增加了用户的操作步骤,打断用户的操作流程,用户体验不流畅;且如果用户事先并不清楚具体是哪个后台服务在运行的话,会给用户造成困扰。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供协调摄像头资源的方法及系统,旨在协调不同摄像头的应用程序使用相同的摄像头资源。
为实现上述目的,本发明提供的协调摄像头资源的方法,包括如下步骤:
管理服务模块接收待启动第一应用程序发送的启动摄像头请求后,当摄像头未被占用时,把所述第一应用程序的进程ID压入进程堆栈并直接启动所述第一应用程序;
当摄像头被进程ID存储于所述进程堆栈栈顶的第二应用程序占用时,暂停所述第二应用程序的运行,并控制所述第二应用程序释放摄像头资源,并在释放完毕后反馈释放成功信息至所述管理服务模块;
所述管理服务模块接收所述释放成功信息后,把所述第一应用程序的进程ID压入堆栈,并发送摄像头空闲指令至所述第一应用程序;
接收摄像头空闲指令后,所述第一应用程序启动;
当栈顶的所述第一应用程序退出后,控制所述进程堆栈执行对应所述第一应用程序的进程ID出栈,并启动进程ID存储于所述进程堆栈栈顶的所述第二应用程序。
优选地,当栈顶的所述第一应用程序退出后,控制所述进程堆栈执行对应所述第一应用程序的进程ID出栈,并启动进程ID存储于所述进程堆栈栈顶的所述第二应用程序步骤包括:
所述第一应用程序退出后,发送退出消息至所述管理服务模块;
所述管理服务模块接收所述退出信息后将其传递至暂停运行的所述第二应用程序,所述第二应用程序重新启动。
优选地,当摄像头未被占用时,把所述第一应用程序的进程ID压入进程堆栈并直接启动所述第一应用程序步骤还包括:
通过判断所述进程堆栈是否为空判断摄像头被占用,并且在摄像头未被占用时,发送摄像头空闲指令至所述第一应用程序。
优选地,当所述第一应用程序及所述第二应用程序均为后台应用程序时,所述第一应用程序启动包括:
将所述第一应用程序的进程ID存储于所述堆栈的栈顶,并且所述第二应用程序的进程ID存储于所述进程堆栈中所述第一应用程序的的进程ID的下方;
所述第一应用程序退出包括:所述第一应用程序的进程ID自所述进程堆栈中出栈,使所述第二应用程序的进程ID存储于所述进程堆栈的栈顶。
优选地,当所述第一应用程序为前台应用程序,且所述第二应用程序为后台应用程序时,占用所述摄像头的所述第二应用程序的进程ID存储于所述进程堆栈的栈顶;
所述第一应用程序启动具体为:打开所述第一应用程序;
所述第一应用程序退出具体为:关闭所述第一应用程序。
本发明进一步提供一种协调摄像头资源的系统,包括:
管理服务模块,用于管理摄像头资源;
检测模块,连接于所述管理服务模块,用于判断所述摄像头是否被占用;
存储模块,连接于所述管理服务模块,所述存储模块包括进程堆栈,所述进程堆栈用于存储占用摄像头的应用程序的进程ID,在所述摄像头被占用前,所述进程堆栈为空堆栈。
优选地,所述管理服务模块还用于:
当接收到待启动的第一应用程序发送的启动摄像头请求后,当摄像头未被占用时,把所述第一应用程序的进程ID压入所述进程堆栈并直接启动所述第一应用程序;当摄像头被进程ID存储于所述进程堆栈栈顶的第二应用程序占用时,暂停所述第二应用程序的运行,并控制所述的第二应用程序释放摄像头资源;
当接收到所述第二应用程序释放摄像头资源成功信息后,把所述第一应用程序的进程ID压入堆栈,并发送摄像头空闲指令至所述第一应用程序,控制所述第一应用程序启动;
当栈顶的所述第一应用程序退出后,控制所述进程堆栈执行对应所述第一应用程序的进程ID出栈,并控制进程ID存储于所述进程堆栈栈顶的所述第二应用程序启动。
优选地,所述检测模块还用于:
通过判断所述进程堆栈是否为空判断摄像头被占用。
优选地,当所述第一应用程序为后台应用程序时,所述管理服务模块还用于在所述第一应用程序启动时为其入栈注册,在所述第一应用程序退出时将其出栈注销。
优选地,当所述第二应用程序为后台应用程序时,所述第一应用程序启动时,将所述第一应用程序的进程ID存储于所述堆栈的栈顶,并且所述第二应用程序的进程ID存储于所述进程堆栈中所述第一应用程序的的进程ID的下方;
所述第一应用程序退出时,所述第一应用程序的进程ID自所述进程堆栈中出栈,使所述第二应用程序的进程ID存储于所述进程堆栈的栈顶。
本发明协调摄像头资源的方法包括如下步骤:管理服务模块接收待启动第一应用程序发送的启动摄像头请求后,当摄像头未被占用时,把所述第一应用程序的进程ID压入进程堆栈并直接启动所述第一应用程序;当摄像头被进程ID存储于所述进程堆栈栈顶的第二应用程序占用时,暂停所述第二应用程序的运行,并控制所述第二应用程序释放摄像头资源,并在释放完毕后反馈释放成功信息至所述管理服务模块;所述管理服务模块接收所述释放成功信息后,把所述第一应用程序的进程ID压入堆栈,并发送摄像头空闲指令至所述第一应用程序;接收摄像头空闲指令后,所述第一应用程序启动;当栈顶的所述第一应用程序退出后,控制所述进程堆栈执行对应所述第一应用程序的进程ID出栈,并启动进程ID存储于所述进程堆栈栈顶的所述第二应用程序。本发明在摄像头被第二应用程序占用时,令所述第二应用程序暂停运行并释放摄像头资源,以供当前申请启动摄像头的第一应用程序使用;且在成功运行的所述第一应用程序退出后,暂停运行的所述第二应用程序可以自动重新启动,本发明可以协调不同摄像头的应用程序使用相同的摄像头资源;避免在使用摄像头时造成冲突。
附图说明
图1为本发明协调摄像头资源的系统一实施例的结构示意图;
图2为图1在摄像头切换前的进程堆栈示意图;
图3为图2中协调摄像头资源的系统在摄像头切换后的进程堆栈示意图;
图4为图3中协调摄像头资源的系统在摄像头后台重启后的进程堆栈示意图;
图5为本发明协调摄像头资源的方法一实施例中摄像头切换方法的流程示意图;
图6为图5中摄像头后台重启方法一实施例的流程示意图;
图7为图5中管理服务模块的信息传递状态示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种协调摄像头资源的系统。
参照图1,图1是本发明协调摄像头资源的系统一实施例的结构示意图;在一实施例中,该协调摄像头资源的系统包括:
管理服务模块10,用于管理摄像头资源;具体地,所述管理服务模块10还用于:当接收到待启动的第一应用程序发送的启动摄像头请求后(本实施例中,请求启动摄像头的所述第一应用程序可以为前台应用程序或后台应用程序),当摄像头未被占用时,把所述第一应用程序的进程ID压入所述进程堆栈并直接启动所述第一应用程序;当摄像头被进程ID存储于所述进程堆栈栈顶的第二应用程序占用时,暂停所述第二应用程序的运行,并控制所述的第二应用程序释放摄像头资源;当接收到所述第二应用程序释放摄像头资源成功信息后,把所述第一应用程序的进程ID压入堆栈,并发送摄像头空闲指令至所述第一应用程序,控制所述第一应用程序启动;当栈顶的所述第一应用程序退出后,控制所述进程堆栈执行对应所述第一应用程序的进程ID出栈,并控制进程ID存储于所述进程堆栈栈顶的所述第二应用程序启动。
检测模块20,连接于所述管理服务模块10,用于判断所述摄像头是否被占用;
存储模块30,连接于所述管理服务模块10,所述存储模块30包括进程堆栈,所述进程堆栈用于存储占用摄像头的应用程序的进程ID,在所述摄像头被占用前,所述进程堆栈为空堆栈;当所述摄像头被占用时,所述占用摄像头的应用程序的进程ID存储于所述进程堆栈的栈顶;如图2所示,图2为图1在摄像头切换前的进程堆栈示意图;所述B为在所述第一应用程序发送启动摄像头请求时,占用所述摄像头的所述第二应用程序;在所述摄像头切换前,所述第二应用程序如图2所示存储于所述进程堆栈的栈顶,此时,所述第二应用程序正在运行。
由上述,作为优选,所述检测模块20还用于:通过判断所述进程堆栈是否为空判断摄像头被占用。
本实施例在摄像头被第二应用程序占用时,令所述第二应用程序暂停运行并释放摄像头资源,以供当前申请启动摄像头的第一应用程序使用;从而协调不同摄像头的应用程序使用相同的摄像头资源;避免在使用摄像头时造成冲突。
进一步地,所述管理服务模块10还用于在摄像头后台重启过程中接收所述第一应用程序输出的退出信息后将其传递至暂停运行的所述第二应用程序,令所述第二应用程序重新启动。本发明在成功运行的所述第一应用程序退出后,使暂停运行的所述第二应用程序自动重新启动,进一步协调不同摄像头的应用程序使用相同的摄像头资源。
且在本发明中,接收第一应用程序发送的启动摄像头请求之后需要通过所述检测模块20判断摄像头是否被占用,当所述摄像头被第二应用程序占用时,请求启动摄像头的所述第一应用程序可以为前台应用程序或后台应用程序,因此:
作为优选,当所述第一应用程序为后台应用程序时,不管所述第二应用程序是前台应用程序或者后台应用程序,所述管理服务模块10均还用于在所述第一应用程序启动时为其入栈注册,在所述第一应用程序退出时将其出栈注销。
当所述第一应用程序及所述第二应用程序均为后台应用程序时,如图3及图4所示,图3为图2中协调摄像头资源的系统在摄像头切换后的进程堆栈示意图;图4为图3中协调摄像头资源的系统在摄像头后台重启后的进程堆栈示意图;本实施例中,所述A为请求启动摄像头的所述第一应用程序;如图3所示,当所述第一应用程序启动时,将所述第一应用程序的进程ID存储于所述堆栈的栈顶,并且所述第二应用程序的进程ID存储于所述进程堆栈中所述第一应用程序的的进程ID的下方,此时所述第二应用程序暂停运行;如图4所示,所述第一应用程序退出时,所述第一应用程序的进程ID自所述进程堆栈中出栈,使所述第二应用程序的进程ID存储于所述进程堆栈的栈顶,此时所述第二应用程序重新运行。
上述压栈及出栈的过程是指存储或删除应用程序的进程ID的过程,其存储的过程为:首先提取该应用程序的进程ID,然后按照字符串的格式存入进程堆栈的栈结构,且其栈顶永远存储的是当前运行的或者即将运行的应用程序的进程ID。删除的过程同理。
压栈的过程是用来记录当前是哪个应用程序被其它应用程序打断,然后再根据应用程序存储于进程堆栈中的进程ID重新启动。另外,也可以把应用程序对应的内存资源进行压栈,使得摄像头的应用程序能够快速启动与切换。
当请求启动摄像头的所述第一应用程序为前台应用程序时,且所述第二应用程序为后台应用程序时,由于所述摄像头被所述第二应用程序占用,因此同样需要通过所述管理服务模块10进行协调摄像头资源;由于所述第一应用程序可以直接在前台运行,因此所述第一应用程序可以在所述第二应用程序释放资源后直接进行开启或关闭;且所述第二应用程序可以等待所述第一应用程序停止运行后重新启动。
在本发明中,同样存在所述第一应用程序及所述第二应用程序均为前台应用程序的情况,此时,当所述检测模块20判断所述摄像头被所述第二应用程序占用时,不管请求启动摄像头的所述第一应用程序是前台应用程序或者后台应用程序,均可以直接关闭所述占用摄像头的所述第二应用程序后,令请求启动摄像头的所述第一应用程序直接启动摄像头,此时不需要通过所述管理服务模块10进行协调。
同时,当所述检测模块20判断所述摄像头未被占用时,不管请求启动摄像头的所述第一应用程序是前台应用程序或者后台应用程序,由于此时摄像头空闲,因此均可以直接启动摄像头;若所述第一应用程序是后台应用程序,则还包括一个把所述第一应用程序的进程ID压入所述进程堆栈的过程;所述管理服务模块10还用于在所述摄像头未被占用时,发送摄像头空闲指令至所述第一应用程序,令所述第一应用程序启动。
进一步地,所述协调摄像头资源的系统还包括开关模块(图未示),用于开启或关闭所述管理服务模块10。在所述第一应用程序发送启动摄像头请求之前,应首先确定所述管理服务模块10已开启:当所述管理服务模块10已开启时,进入下一步;当所述管理服务模块10未开启时,将其开启;以便于通过所述管理服务模块10协调摄像头资源。
本发明还提供一种协调摄像头资源的方法。
参照图5,图5为本发明协调摄像头资源的方法一实施例中摄像头切换方法的流程示意图;在一实施例中,该协调摄像头资源的方法包括如下步骤:
步骤S10,管理服务模块10接收待启动第一应用程序发送的启动摄像头请求后,进入步骤S20判断摄像头是否被占用,本实施例中,通过所述检测模块20判断所述进程堆栈是否为空判断摄像头是否被占用;当摄像头未被占用时,进入步骤S60,把所述第一应用程序的进程ID压入进程堆栈并直接启动所述第一应用程序;也即,如图5所示,当步骤S20中判断摄像头未被占用时,把所述第一应用程序的进程ID压入进程堆栈并直接启动所述第一应用程序步骤还包括:通过判断所述进程堆栈是否为空判断摄像头被占用,并且在摄像头未被占用时,发送摄像头空闲指令至所述第一应用程序,提示所述摄像头未被占用,并在接收摄像头空闲指令后,把所述第一应用程序的进程ID压入进程堆栈并直接启动所述第一应用程序,所述摄像头运行所述第一应用程序。也即,在本发明中,接收第一应用程序发送的启动摄像头请求之后需要判断摄像头是否被占用,当所述检测模块20判断所述摄像头未被占用时,不管请求启动摄像头的第一应用程序是前台应用程序或者后台应用程序,由于此时摄像头空闲,因此均可以直接启动摄像头。
当摄像头被进程ID存储于所述进程堆栈栈顶的第二应用程序占用时,进入步骤S30,暂停所述第二应用程序的运行,并控制所述第二应用程序释放摄像头资源,并在释放完毕后反馈释放成功信息至所述管理服务模块10;随后进入步骤S40,所述管理服务模块10接收所述释放成功信息后,把所述第一应用程序的进程ID压入堆栈,并发送摄像头空闲指令至所述第一应用程序;
最终进入步骤S50,接收摄像头空闲指令后,所述第一应用程序启动;所述摄像头运行所述第一应用程序,完成切换过程。如图2所示,所述B为在所述第一应用程序发送启动摄像头请求时,占用所述摄像头的所述第二应用程序;在摄像头切换前,所述第二应用程序如图2所示存储于所述进程堆栈的栈顶;此时,所述第二应用程序正在运行。
参照图6,图6为图5中摄像头后台重启方法一实施例的流程示意图;在本实施例中,上述实施例中切换后运行的第一应用程序退出之后,暂停运行的所述第二应用程序还可以自动重启并重新运行,也即,当栈顶的所述第一应用程序退出后,控制所述进程堆栈执行对应所述第一应用程序的进程ID出栈,并启动进程ID存储于所述进程堆栈栈顶的所述第二应用程序。进一步地,当栈顶的所述第一应用程序退出后,控制所述进程堆栈执行对应所述第一应用程序的进程ID出栈,并启动进程ID存储于所述进程堆栈栈顶的所述第二应用程序步骤包括:步骤S70,所述第一应用程序退出后,发送退出消息至所述管理服务模块10;步骤S80,所述管理服务模块10接收所述退出信息后将其传递至暂停运行的所述第二应用程序,所述第二应用程序重新启动,完成所述摄像头的后台重启过程。
上述图5及图6中实施例均为当所述摄像头被所述第二应用程序(且所述第二应用程序为后台应用程序)占用时协调摄像头资源的方法,此时不管请求启动摄像头的所述第一应用程序为前台应用程序或后台应用程序均可。
本发明中,进一步地,当所述第一应用程序及所述第二应用程序均为后台应用程序时,所述第一应用程序启动包括:将所述第一应用程序的进程ID存储于所述堆栈的栈顶,并且所述第二应用程序的进程ID存储于所述进程堆栈中所述第一应用程序的的进程ID的下方;所述第一应用程序退出包括:所述第一应用程序的进程ID自所述进程堆栈中出栈,使所述第二应用程序的进程ID存储于所述进程堆栈的栈顶。如图2至图4所示,所述A为请求启动摄像头的所述第一应用程序;所述B为在所述第一应用程序发送启动摄像头请求时,占用所述摄像头的所述第二应用程序;在摄像头切换前,所述第二应用程序如图2所示位于所述进程堆栈的栈顶,此时所述第二应用程序正在运行;如图3所示,当摄像头切换后,所述第一应用程序启动时,将所述第一应用程序的进程ID存储于所述堆栈的栈顶,并且所述第二应用程序的进程ID存储于所述进程堆栈中所述第一应用程序的的进程ID的下方,此时所述第二应用程序暂停运行;如图4所示,所述第一应用程序退出时,所述第一应用程序停止运行且其进程ID自所述进程堆栈中出栈,使所述第二应用程序的进程ID存储于所述进程堆栈的栈顶,此时所述第二应用程序重新运行。
同理,当所述第一应用程序为前台应用程序,且所述第二应用程序为后台应用程序时,占用所述摄像头的所述第二应用程序的进程ID存储于所述进程堆栈的栈顶;所述第一应用程序启动具体为:打开所述第一应用程序;所述第一应用程序退出具体为:关闭所述第一应用程序。由于所述摄像头被第二应用程序占用,因此当请求启动摄像头的所述第一应用程序为前台应用程序时,同样需要通过所述管理服务模块10进行协调摄像头资源,但是,由于所述第一应用程序直接在前台运行,因此其可以优选为并不参与到在上述实施例中的所述第一应用程序在进程堆栈中的压栈及出栈的过程,于是所述第二应用程序在摄像头切换的过程中同样一直保持在栈顶状态,等待所述第一应用程序停止运行后重新启动。
在本发明中,同样存在所述第一应用程序及所述第二应用程序为前台应用程序的情况,此时,当所述检测模块20判断所述摄像头被所述第二应用程序占用时,可以直接关闭所述占用摄像头的所述第二应用程序后,令请求启动摄像头的所述第一应用程序直接启动摄像头,不需要通过所述管理服务模块10进行协调。
参照图7,图7为图5中管理服务模块10的信息传递状态示意图;在发明中,如图5及图6的实施例中所述,所述管理服务模块10接收及发送的消息主要包括:
所述管理服务模块10接收所述第一应用程序发送的启动摄像头请求,将所述启动摄像头请求定义为:EVENT_OPEN;
所述管理服务模块10接收所述第二应用程序发送的释放成功信息,将所述释放成功信息定义为:EVENT_RELEASE;
所述管理服务模块10发送摄像头空闲指令至所述第一应用程序,将所述摄像头空闲指令定义为:EVENT_FREE;
所述管理服务模块10接收所述第一应用程序发送的退出信息后将其传递至暂停运行的所述第二应用程序,使所述第二应用程序重新启动,也即,该退出命令为所述第二应用程序的重启启动指令,因此将所述退出信息定义为:EVENT_RESTART;
上述不同的消息用于不同场合,如图7所示:
EVENT_OPEN主要是用于请求启动摄像头的第一应用程序,所述第一应用程序在每次启动前,首先向所述管理服务模块10发送该消息,让所述管理服务模块10查询摄像头是否被占用;
EVENT_RELEASE主要是用于在发送EVENT_OPEN时,正在后台运行的第二应用程序,当所述第二应用程序释放掉摄像头资源并成功之后,给所述管理服务模块10发送EVENT_RELEASE,告知所述管理服务模块10,已经释放摄像头资源成功,摄像头当前空闲。
EVENT_FREE:是所述管理服务模块10告知请求启动摄像头的所述第一应用程序并说明摄像头当前是空闲的状态,此时所述第一应用程序运行摄像头;
EVENT_RESTART:是所述第二应用程序释放摄像头资源并暂停运行后,在接收到所述管理服务模块10传递的EVENT_RESTART时,在原状态下重新启动摄像头。
进一步地,所述管理服务模块10接收第一应用程序发送的启动摄像头请求之前还包括:确认所述管理服务模块10开启。也即,在所述第一应用程序发送启动摄像头请求之前,应首先确定所述管理服务模块10已开启:当所述管理服务模块10已开启时,进入下一步;当所述管理服务模块10未开启时,将其开启;以便于通过所述管理服务模块10协调摄像头资源。
以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种协调摄像头资源的方法,其特征在于,包括如下步骤:
管理服务模块接收待启动第一应用程序发送的启动摄像头请求后,当摄像头未被占用时,把所述第一应用程序的进程ID压入进程堆栈并直接启动所述第一应用程序;
当摄像头被进程ID存储于所述进程堆栈栈顶的第二应用程序占用时,暂停所述第二应用程序的运行,并控制所述第二应用程序释放摄像头资源,并在释放完毕后反馈释放成功信息至所述管理服务模块;
所述管理服务模块接收所述释放成功信息后,把所述第一应用程序的进程ID压入堆栈,并发送摄像头空闲指令至所述第一应用程序;
接收摄像头空闲指令后,所述第一应用程序启动;
当栈顶的所述第一应用程序退出后,控制所述进程堆栈执行对应所述第一应用程序的进程ID出栈,并启动进程ID存储于所述进程堆栈栈顶的所述第二应用程序。
2.如权利要求1所述的协调摄像头资源的方法,其特征在于,当栈顶的所述第一应用程序退出后,控制所述进程堆栈执行对应所述第一应用程序的进程ID出栈,并启动进程ID存储于所述进程堆栈栈顶的所述第二应用程序步骤包括:
所述第一应用程序退出后,发送退出消息至所述管理服务模块;
所述管理服务模块接收所述退出信息后将其传递至暂停运行的所述第二应用程序,所述第二应用程序重新启动。
3.如权利要求1所述的协调摄像头资源的方法,其特征在于,当摄像头未被占用时,把所述第一应用程序的进程ID压入进程堆栈并直接启动所述第一应用程序步骤还包括:
通过判断所述进程堆栈是否为空判断摄像头被占用,并且在摄像头未被占用时,发送摄像头空闲指令至所述第一应用程序。
4.如权利要求2所述的协调摄像头资源的方法,其特征在于,当所述第一应用程序及所述第二应用程序均为后台应用程序时,所述第一应用程序启动包括:
将所述第一应用程序的进程ID存储于所述堆栈的栈顶,并且所述第二应用程序的进程ID存储于所述进程堆栈中所述第一应用程序的的进程ID的下方;
所述第一应用程序退出包括:所述第一应用程序的进程ID自所述进程堆栈中出栈,使所述第二应用程序的进程ID存储于所述进程堆栈的栈顶。
5.如权利要求2所述的协调摄像头资源的方法,其特征在于,当所述第一应用程序为前台应用程序,且所述第二应用程序为后台应用程序时,占用所述摄像头的所述第二应用程序的进程ID存储于所述进程堆栈的栈顶;
所述第一应用程序启动具体为:打开所述第一应用程序;
所述第一应用程序退出具体为:关闭所述第一应用程序。
6.一种协调摄像头资源的系统,其特征在于,包括:
管理服务模块,用于管理摄像头资源;
检测模块,连接于所述管理服务模块,用于判断所述摄像头是否被占用;
存储模块,连接于所述管理服务模块,所述存储模块包括进程堆栈,所述进程堆栈用于存储占用摄像头的应用程序的进程ID,在所述摄像头被占用前,所述进程堆栈为空堆栈。
7.如权利要求6所述的协调摄像头资源的系统,其特征在于,所述管理服务模块还用于:
当接收到待启动的第一应用程序发送的启动摄像头请求后,当摄像头未被占用时,把所述第一应用程序的进程ID压入所述进程堆栈并直接启动所述第一应用程序;当摄像头被进程ID存储于所述进程堆栈栈顶的第二应用程序占用时,暂停所述第二应用程序的运行,并控制所述的第二应用程序释放摄像头资源;
当接收到所述第二应用程序释放摄像头资源成功信息后,把所述第一应用程序的进程ID压入堆栈,并发送摄像头空闲指令至所述第一应用程序,控制所述第一应用程序启动;
当栈顶的所述第一应用程序退出后,控制所述进程堆栈执行对应所述第一应用程序的进程ID出栈,并控制进程ID存储于所述进程堆栈栈顶的所述第二应用程序启动。
8.如权利要求6所述的协调摄像头资源的系统,其特征在于,所述检测模块还用于:
通过判断所述进程堆栈是否为空判断摄像头被占用。
9.如权利要求7所述的协调摄像头资源的系统,其特征在于,当所述第一应用程序为后台应用程序时,所述管理服务模块还用于在所述第一应用程序启动时为其入栈注册,在所述第一应用程序退出时将其出栈注销。
10.如权利要求9所述的协调摄像头资源的系统,其特征在于,当所述第二应用程序为后台应用程序时,所述第一应用程序启动时,将所述第一应用程序的进程ID存储于所述堆栈的栈顶,并且所述第二应用程序的进程ID存储于所述进程堆栈中所述第一应用程序的的进程ID的下方;
所述第一应用程序退出时,所述第一应用程序的进程ID自所述进程堆栈中出栈,使所述第二应用程序的进程ID存储于所述进程堆栈的栈顶。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410029634.XA CN103793246B (zh) | 2014-01-22 | 2014-01-22 | 协调摄像头资源的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410029634.XA CN103793246B (zh) | 2014-01-22 | 2014-01-22 | 协调摄像头资源的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103793246A true CN103793246A (zh) | 2014-05-14 |
CN103793246B CN103793246B (zh) | 2017-09-05 |
Family
ID=50668961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410029634.XA Expired - Fee Related CN103793246B (zh) | 2014-01-22 | 2014-01-22 | 协调摄像头资源的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103793246B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778041A (zh) * | 2015-03-24 | 2015-07-15 | 四川长虹电器股份有限公司 | 多程序共用语音设备的管理方法与系统 |
CN105068945A (zh) * | 2015-08-03 | 2015-11-18 | Tcl集团股份有限公司 | 一种Android系统的摄像头分配方法及系统 |
CN105224369A (zh) * | 2015-10-14 | 2016-01-06 | 深圳Tcl数字技术有限公司 | 应用启动方法和系统 |
CN105487871A (zh) * | 2015-12-01 | 2016-04-13 | 海信集团有限公司 | 一种在智能终端上运行应用程序的方法和装置 |
CN105955779A (zh) * | 2016-05-03 | 2016-09-21 | 深圳Tcl数字技术有限公司 | 进程关闭方法及装置 |
CN106598715A (zh) * | 2016-12-01 | 2017-04-26 | 北京光年无限科技有限公司 | 一种用于机器人的图像数据处理方法及机器人 |
CN107065639A (zh) * | 2016-12-13 | 2017-08-18 | 北京光年无限科技有限公司 | 基于智能机器人的外设行为冲突控制方法和系统 |
CN108322640A (zh) * | 2017-12-27 | 2018-07-24 | 武汉长江通信智联技术有限公司 | 一种基于广播机制实现多应用同时调用摄像头的方法及系统 |
CN108429879A (zh) * | 2018-02-13 | 2018-08-21 | 广东欧珀移动通信有限公司 | 电子设备、摄像头控制方法及相关产品 |
CN109698907A (zh) * | 2018-12-29 | 2019-04-30 | 深圳市东方拓宇科技有限公司 | 共用摄像头通道的方法、装置、存储介质以及终端 |
CN110505390A (zh) * | 2019-09-24 | 2019-11-26 | 深圳创维-Rgb电子有限公司 | 电视机及其摄像头调用方法、控制装置和可读存储介质 |
CN112306822A (zh) * | 2020-11-30 | 2021-02-02 | 联想(北京)有限公司 | 一种控制方法、装置及电子设备 |
CN112363836A (zh) * | 2020-11-12 | 2021-02-12 | 四川长虹电器股份有限公司 | 一种Android系统相机资源管控的方法 |
CN112650650A (zh) * | 2020-12-31 | 2021-04-13 | 联想(北京)有限公司 | 一种控制方法及装置 |
CN112685099A (zh) * | 2020-12-31 | 2021-04-20 | 联想(北京)有限公司 | 一种处理方法及装置 |
CN113778641A (zh) * | 2021-08-09 | 2021-12-10 | 荣耀终端有限公司 | 控制摄像头的方法、电子设备及计算机可读存储介质 |
CN114079812A (zh) * | 2020-08-21 | 2022-02-22 | 海信视像科技股份有限公司 | 一种显示设备及摄像头的控制方法 |
CN114079732A (zh) * | 2020-08-20 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 摄像头控制方法及装置、电子设备、存储介质 |
CN117729425A (zh) * | 2023-05-04 | 2024-03-19 | 荣耀终端有限公司 | 一种摄像头的分配方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308467A (zh) * | 2008-07-16 | 2008-11-19 | 杭州华三通信技术有限公司 | 一种任务处理的方法和装置 |
CN102147725A (zh) * | 2011-03-29 | 2011-08-10 | 福州瑞芯微电子有限公司 | 一种Android中支持双摄像头的方法 |
-
2014
- 2014-01-22 CN CN201410029634.XA patent/CN103793246B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308467A (zh) * | 2008-07-16 | 2008-11-19 | 杭州华三通信技术有限公司 | 一种任务处理的方法和装置 |
CN102147725A (zh) * | 2011-03-29 | 2011-08-10 | 福州瑞芯微电子有限公司 | 一种Android中支持双摄像头的方法 |
Non-Patent Citations (1)
Title |
---|
佚名: "Android开发者指南-摄像头-Camera", 《HTTP://BLOG.CSDN.NET/WELLXY/ARTICLE/DETAILS/7627956》 * |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778041A (zh) * | 2015-03-24 | 2015-07-15 | 四川长虹电器股份有限公司 | 多程序共用语音设备的管理方法与系统 |
CN105068945A (zh) * | 2015-08-03 | 2015-11-18 | Tcl集团股份有限公司 | 一种Android系统的摄像头分配方法及系统 |
CN105224369A (zh) * | 2015-10-14 | 2016-01-06 | 深圳Tcl数字技术有限公司 | 应用启动方法和系统 |
WO2017063366A1 (zh) * | 2015-10-14 | 2017-04-20 | 深圳Tcl数字技术有限公司 | 应用启动方法和系统 |
CN105487871A (zh) * | 2015-12-01 | 2016-04-13 | 海信集团有限公司 | 一种在智能终端上运行应用程序的方法和装置 |
CN105955779B (zh) * | 2016-05-03 | 2020-06-09 | 深圳Tcl数字技术有限公司 | 进程关闭方法及装置 |
CN105955779A (zh) * | 2016-05-03 | 2016-09-21 | 深圳Tcl数字技术有限公司 | 进程关闭方法及装置 |
CN106598715A (zh) * | 2016-12-01 | 2017-04-26 | 北京光年无限科技有限公司 | 一种用于机器人的图像数据处理方法及机器人 |
CN107065639A (zh) * | 2016-12-13 | 2017-08-18 | 北京光年无限科技有限公司 | 基于智能机器人的外设行为冲突控制方法和系统 |
CN108322640A (zh) * | 2017-12-27 | 2018-07-24 | 武汉长江通信智联技术有限公司 | 一种基于广播机制实现多应用同时调用摄像头的方法及系统 |
CN108322640B (zh) * | 2017-12-27 | 2020-10-27 | 武汉长江通信智联技术有限公司 | 一种基于广播机制实现多应用同时调用摄像头的方法及系统 |
CN108429879B (zh) * | 2018-02-13 | 2020-12-25 | Oppo广东移动通信有限公司 | 电子设备、摄像头控制方法、摄像头控制设备及计算机可读存储介质 |
CN108429879A (zh) * | 2018-02-13 | 2018-08-21 | 广东欧珀移动通信有限公司 | 电子设备、摄像头控制方法及相关产品 |
CN109698907A (zh) * | 2018-12-29 | 2019-04-30 | 深圳市东方拓宇科技有限公司 | 共用摄像头通道的方法、装置、存储介质以及终端 |
CN110505390B (zh) * | 2019-09-24 | 2021-02-05 | 深圳创维-Rgb电子有限公司 | 电视机及其摄像头调用方法、控制装置和可读存储介质 |
CN110505390A (zh) * | 2019-09-24 | 2019-11-26 | 深圳创维-Rgb电子有限公司 | 电视机及其摄像头调用方法、控制装置和可读存储介质 |
CN114079732A (zh) * | 2020-08-20 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 摄像头控制方法及装置、电子设备、存储介质 |
CN114079732B (zh) * | 2020-08-20 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 摄像头控制方法及装置、电子设备、存储介质 |
CN114079812A (zh) * | 2020-08-21 | 2022-02-22 | 海信视像科技股份有限公司 | 一种显示设备及摄像头的控制方法 |
CN112363836A (zh) * | 2020-11-12 | 2021-02-12 | 四川长虹电器股份有限公司 | 一种Android系统相机资源管控的方法 |
CN112306822A (zh) * | 2020-11-30 | 2021-02-02 | 联想(北京)有限公司 | 一种控制方法、装置及电子设备 |
CN112306822B (zh) * | 2020-11-30 | 2023-05-02 | 联想(北京)有限公司 | 一种控制方法、装置及电子设备 |
CN112650650A (zh) * | 2020-12-31 | 2021-04-13 | 联想(北京)有限公司 | 一种控制方法及装置 |
CN112685099A (zh) * | 2020-12-31 | 2021-04-20 | 联想(北京)有限公司 | 一种处理方法及装置 |
CN112650650B (zh) * | 2020-12-31 | 2024-04-23 | 联想(北京)有限公司 | 一种控制方法及装置 |
CN113778641A (zh) * | 2021-08-09 | 2021-12-10 | 荣耀终端有限公司 | 控制摄像头的方法、电子设备及计算机可读存储介质 |
CN117729425A (zh) * | 2023-05-04 | 2024-03-19 | 荣耀终端有限公司 | 一种摄像头的分配方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103793246B (zh) | 2017-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103793246A (zh) | 协调摄像头资源的方法及系统 | |
EP3825852B1 (en) | Occupation control method and apparatus for camera application | |
TW201944236A (zh) | 任務處理方法、裝置及系統 | |
CN104219288B (zh) | 基于多线程的分布式数据同步方法及其系统 | |
JP5793574B2 (ja) | クロスプロセス通信のための方法および装置、ならびにコンピュータ記憶媒体 | |
US7434094B2 (en) | Remote copy processing method, program, and system | |
CN109743616A (zh) | 一种智能电视的待机及唤醒方法及装置 | |
US9830181B2 (en) | Method and system for gracefully shutdown virtual system | |
EP3518465A1 (en) | Method for initiating software modification, method and device for publishing metadata | |
CN104536842A (zh) | 基于kvm虚拟化的虚拟机容错方法 | |
CN106610714A (zh) | 终端的开关控制电路及方法 | |
CN103729240A (zh) | 应用程序控制方法 | |
US9727364B2 (en) | Virtual device hypervisor memory limited receive queuing | |
CN102238093A (zh) | 防止业务中断的方法和装置 | |
US11523146B2 (en) | Live broadcast method and apparatus, electronic device, and storage medium | |
WO2017088627A1 (zh) | 网络检测方法、装置、数字机顶盒及存储介质 | |
CN104778041A (zh) | 多程序共用语音设备的管理方法与系统 | |
CN103024200A (zh) | 应用于智能终端的拍摄方法及拍摄装置 | |
CN113467884A (zh) | 资源配置方法和装置、电子设备及计算机可读存储介质 | |
WO2022199374A1 (zh) | 直播间房主转让的方法、装置、服务器和存储介质 | |
EP3499373A1 (en) | Method and apparatus for processing process | |
CN108833981A (zh) | 一种开关机的方法 | |
CN104702534A (zh) | 一种实现多进程共享端口的数据处理的方法及装置 | |
US20130179708A1 (en) | Processing device | |
CN104102498A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170905 |
|
CF01 | Termination of patent right due to non-payment of annual fee |