本发明涉及计算机技术领域,尤其涉及一种基于android系统的录像方法、装置及移动终端。
背景技术:
录像是移动终端普遍支持的功能,在日常生活以及工作中使用频率越来越高。
当用户使用移动终端录像时,若需要执行其它操作,例如,收发短信、接打电话等,录像会被强制停止。但在一些特殊的应用场景中,例如,警务、执法现场等,需要不间断实时录像,现有处理方式无法满足实时录像的需求;且警务设备对续航时间要求较长,正常录像中由于需要保持屏幕常亮,导致设备功耗较大。
技术实现要素:
本发明为了解决现有移动终端在退出应用后无法实时录像的问题,提供一种基于android(安卓)系统的录像方法、装置及移动终端,用以实现移动终端的实时录像。
为实现上述发明目的,本发明提供了如下技术方案:
第一方面,本发明提供一种基于android系统的录像方法,所述方法包括:
activity(活动)退出时,解绑与所述activity绑定的用于控制camera(相机)录像的service(服务);
所述service后台控制所述camera录像。
可选的,所述activity退出之前,还包括:
所述activity启动时,绑定所述activity和所述service。
可选的,所述activity退出之前,还包括:
所述service加载所述camera对应ui(userinterface,用户界面)布局,以使所述ui布局对应预览界面显示于所述activity;
所述解绑与所述activity绑定的用于控制camera录像的service之后,还包括:
所述service最小化所述ui布局,以隐藏所述预览界面。
可选的,
所述service通过windowmanager(窗口管理)加载或最小化所述ui布局。
第二方面,本发明提供一种基于android系统的录像装置,所述装置包括:
activity,用于在所述activity退出时,解绑与所述activity绑定的用于控制camera录像的service;
所述service,用于后台控制所述camera录像。
可选的,
所述activity,还用于在所述activity启动时,绑定所述activity和所述service。
可选的,
所述service,还用于加载所述camera对应ui布局,以使所述ui布局对应预览界面显示于所述activity;最小化所述ui布局,以隐藏所述预览界面。
可选的,
所述service,具体用于通过windowmanager加载或最小化所述ui布局。
第三方面,本发明提供一种移动终端,包括camera、处理器以及机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述基于android系统的录像方法。
第四方面,本发明提供一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上述基于android系统的录像方法。
由以上描述可以看出,本发明在activity退出时,解绑与activity绑定的用于控制camera录像的service,从而使activity退出不对service造成影响,service可在后台继续控制camera录像,满足实时录像需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有相机应用处理流程;
图2是本发明实施例示出的一种基于android系统的录像方法流程图;
图3是本发明实施例示出的一种相机应用处理流程;
图4是本发明实施例示出的一种相机预览界面的示意图;
图5是本发明实施例示出的移动终端的结构示意图;
图6是本发明实施例示出的一种基于android系统的录像逻辑的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
用户点击移动终端桌面上的应用图标,即启动该应用对应的activity,通过activity可为用户提供与应用交互的界面,并接受用户操作。
以相机应用为例,参见图1,为现有相机应用处理流程:
步骤101,点击相机应用图标,启动相机应用对应的activity;
步骤102,activity加载相机对应ui布局文件;
步骤103,activity启动相机camera;
步骤104,activity显示ui布局对应的预览界面;
步骤105,用户可通过操作预览界面上的按键,启动录像(即运行);
步骤106,在录像过程中,若收发短信或接打电话(启动短信应用或电话应用),则activity关闭相机;
步骤107,activity销毁ui布局;
步骤108,相机应用对应的activity退出。
可见,现有技术由activity控制相机录像以及界面显示,当activity退出时,相机关闭,无法继续录像。但是,在一些特征应用场景,例如,执法现场,需要不间断采集图像(实时录像),而现有处理方式无法满足实时录像需求。
针对上述问题,本发明提供一种基于android系统的录像方法,参见图2,为本发明实施例示出的一种基于android系统的录像方法的流程图,该实施例对录像过程进行描述。
步骤201,activity退出时,解绑与所述activity绑定的用于控制camera录像的service。
本发明利用android系统的service组件控制camera。
在activity启动时,绑定activity与service,使activity通过service使用相机录像;在退出activity时,解绑activity与service,使activity的退出不影响service对相机的控制。
步骤202,所述service后台控制所述camera录像。
由于service组件具有后台运行特性,因此,在通过步骤201与activity解绑后,service可后台控制camera录像,满足移动终端的实时录像需求。
此外,由于service类没有ui显示,也不与用户产生ui交互,为了在activity启动时显示相机预览界面,service利用android系统的windowmanager(android的一个公共类)加载camera对应的ui布局,以使该ui布局对应预览界面可显示于activity。当该activity退出时,service再次利用windowmanager最小化该ui布局(例如,设置ui大小为1×1像素点),以使在当前activity退出后,不影响新启动的activity的显示。
需要补充说明的是,由于activity退出后,service后台控制camera录像,不再显示相机预览界面,因此,移动终端可灭屏,从而降低电量消耗,延长移动终端的使用时长。
现以一具体实施例,详细介绍基于android系统的录像过程。
仍以相机应用为例,参见图3,为本发明实施例示出的一种相机应用处理流程:
步骤301,用户点击安装于移动终端桌面的相机应用图标,启动相机应用对应的activity;
步骤302,启动用于控制相机(camera)录像的service,即cameraservice,该cameraservice可由activity控制启动,也可由其它启动事件(例如,物理按键、触摸事件等)触发,控制cameraservice预先启动;
步骤303,在cameraservice的onbind()中,通过initsurface()完成surface(画布)的创建、通过addview()完成view(相机对应ui布局文件)的加载;
其中,addview()可利用android系统的windowmanager实现,用户只需将设计好的ui布局文件(包含各控件信息,例如,按键、图片、文件的位置、大小、颜色等)作为参数传递给windowmanager即可。
步骤304,cameraservice控制相机启动;
步骤305,cameraservice通过showwindow()控制ui显示;
步骤306,当activity通过bindcameraservice()绑定cameraservice时,ui对应相机预览界面通过activity对应屏幕显示于前台。参见图4,为本发明实施例示出的一种相机预览界面的示意图。
步骤307,由于步骤306的绑定,cameraservice控制相机(录像)运行于前台;
步骤308,在录像过程中,若接打电话,则相机应用对应activity解绑cameraservice;
步骤309,在cameraservice的onunbind()中,通过hidewindow()最小化ui布局,即最小化相机预览界面;
相机预览界面最小化后,移动终端显示电话应用对应界面。
步骤310,相机应用对应activity退出;
步骤311,cameraservice后台控制相机继续录像;
步骤312,经由服务退出事件(例如,再次点击物理按键)触发,cameraservice关闭相机,停止录像;
步骤313,cameraservice销毁ui布局;
步骤314,cameraservice退出。
可见,本发明在activity退出时,通过解绑cameraservice,使cameraservice可以后台继续控制相机录像,从而满足实时录像需求。
图5为本发明提供的一种移动终端的硬件结构示意图。该终端5包括处理器501、存储有机器可执行指令的机器可读存储介质502、相机camera504。其中,处理器501与机器可读存储介质502可经由系统总线503通信。并且,通过读取并执行机器可读存储介质502中与基于android系统的录像逻辑对应的机器可执行指令,处理器501可执行上文描述的基于android系统的录像方法。
本文中提到的机器可读存储介质502可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
如图6所示,从功能上划分,上述基于android系统的录像逻辑可以包括activity601、service602,其中:
activity601,用于在所述activity601退出时,解绑与所述activity601绑定的用于控制相机camera录像的服务service602;
所述service602,用于后台控制所述camera录像。
可选的,
所述activity601,还用于在所述activity601启动时,绑定所述activity601和所述service602。
可选的,
所述service602,还用于加载所述camera对应用户界面ui布局,以使所述ui布局对应预览界面显示于所述activity601;最小化所述ui布局,以隐藏所述预览界面。
可选的,
所述service602,具体用于通过窗口管理windowmanager加载或最小化所述ui布局。
本发明还提供一种包括机器可执行指令的机器可读存储介质,例如图5中的机器可读存储介质502,所述机器可执行指令可由移动终端中的处理器501执行,以实现以上描述的基于android系统的录像方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。