本申请属于电子设备技术领域,尤其涉及一种设备控制方法、装置、存储介质及电子设备。
背景技术:
随着电子设备中的相机拍摄功能越来越强大,用户经常会使用相机应用进行拍照、预览以及视频录制等等。然而,相关技术中,诸如第三方应用等电子设备中的应用程序却并不能调用到该电子设备的相机应用所具有的拍摄功能。也就是说,诸如第三方应用等电子设备中的应用程序并不能调用到该电子设备自带的原生相机应用所具有的拍摄功能,如hdr拍摄功能、美颜功能、夜景拍摄功能等等。
技术实现要素:
本申请实施例提供一种设备控制方法、装置、存储介质及电子设备,可以提高电子设备对应用程序调用相机应用所具有的拍摄功能进行精细化管理的能力。
本申请实施例提供一种设备控制方法,应用于电子设备,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述方法包括:
接收调用请求,所述调用请求为第二应用程序通过所述第一应用程序调用所述电子设备的相机应用所具有的拍摄功能的请求;
根据所述调用请求,检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限;
若所述第二应用程序具有所述权限,则允许所述第二应用程序调用所述电子设备的相机应用所具有的拍摄功能。
本申请实施例提供一种设备控制装置,应用于电子设备,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述装置包括:
接收模块,用于接收调用请求,所述调用请求为第二应用程序通过所述第一应用程序调用所述电子设备的相机应用所具有的拍摄功能的请求;
检测模块,用于根据所述调用请求,检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限;
响应模块,用于若所述第二应用程序具有所述权限,则允许所述第二应用程序调用所述电子设备的相机应用所具有的拍摄功能。
本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的设备控制方法中的流程。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请实施例提供的设备控制方法中的流程。
本申请实施例中,当第二应用程序请求调用电子设备的相机应用所具有的拍摄功能时,该电子设备可以检测该第二应用程序是否具有相应的调用权限。如果该第二应用程序具有相应的调用权限,那么该电子设备可以允许该第二应用程序调用上述电子设备的相机应用所具有的拍摄功能。由于本申请实施例中电子设备可以对应用程序调用该电子设备的相机应用所具有的拍摄功能进行权限控制,因此本申请实施例可以提高电子设备对应用程序调用相机应用所具有的拍摄功能进行精细化管理的能力。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本申请实施例提供的设备控制方法的流程示意图。
图2是本申请实施例提供的设备控制方法的另一流程示意图。
图3是本申请实施例提供的相关技术中camerax组件利用接口实现对相机应用所具有的拍摄功能的调用的示意图。
图4至图6是本申请实施例提供的设备控制方法的实现示意图。
图7是本申请实施例提供的设备控制装置的结构示意图。
图8是本申请实施例提供的电子设备的结构示意图。
图9是本申请实施例提供的电子设备的另一结构示意图。
具体实施方式
请参照图示,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等的电子设备。
请参阅图1,图1是本申请实施例提供的设备控制方法的流程示意图。该设备控制方法可以应用于电子设备,该电子设备配置有第一应用程序,通过该第一应用程序,该电子设备中的应用程序可调用到该电子设备的相机应用所具有的拍摄功能。需要说明的是,上述电子设备的相机应用所具有的拍摄功能可以是指电子设备的相机应用所具有的诸如hdr拍摄功能、夜景拍摄功能、美颜功能等等。
该设备控制方法的流程可以包括:
101、接收调用请求,该调用请求为第二应用程序通过第一应用程序调用电子设备的相机应用所具有的拍摄功能的请求。
随着电子设备中的相机拍摄功能越来越强大,用户经常会使用相机应用进行拍照、预览以及视频录制等等。然而,相关技术中,诸如第三方应用等电子设备中的应用程序却并不能调用到该电子设备的相机应用所具有的拍摄功能。也就是说,诸如第三方应用等电子设备中的应用程序并不能调用到该电子设备自带的原生相机应用所具有的拍摄功能,如hdr拍摄功能、美颜功能、夜景拍摄功能等等。例如,在即时通信应用的聊天界面中,用户可以调用电子设备的相机拍摄照片,但是在拍摄照片的过程中该即时通信应用无法调用到电子设备自带的原生相机应用中的hdr拍摄功能或者美颜功能等等。
在本申请实施例中,电子设备可以配置有第一应用程序,通过该第一应用程序,该电子设备中的应用程序(如第三方应用等)可以调用到该电子设备自带的相机应用所具有的诸如hdr拍摄、夜景拍摄、美颜等拍摄功能。比如,电子设备可以从第二应用程序处接收调用请求,其中,该调用请求是该第二应用程序通过上述第一应用程序调用电子设备的相机应用所具有的拍摄功能的请求。该第二应用程序可以是已安装在该电子设备中的应用程序。
102、根据调用请求,检测第二应用程序是否具有调用电子设备的相机应用所具有的拍摄功能的权限。
比如,在从第二应用程序处接收到上述调用请求后,电子设备可以检测该第二应用程序是否具有调用电子设备的相机应用所具有的拍摄功能的权限。
如果检测到该第二应用程序具有调用电子设备的相机应用所具有的拍摄功能的权限,则进入103中。
103、若第二应用程序具有权限,则允许该第二应用程序调用电子设备的相机应用所具有的拍摄功能。
比如,电子设备检测到第二应用程序具有调用电子设备的相机应用所具有的拍摄功能的权限,那么该电子设备可以允许该第二应用程序调用该电子设备的相机应用所具有的拍摄功能。例如,电子设备可以允许该第二应用程序调用相机应用中的hdr功能拍摄具有高动态范围效果的图像。
如果电子设备检测到第二应用程序不具有调用电子设备的相机应用所具有的拍摄功能的权限,那么该电子设备可以拒绝该第二应用程序的调用请求,即拒绝该第二应用程序调用电子设备的相机应用所具有的拍摄功能。例如,电子设备可以拒绝该第二应用程序调用相机应用中的hdr拍摄功能。
可以理解的是,本申请实施例中,当第二应用程序请求调用电子设备的相机应用所具有的拍摄功能时,该电子设备可以检测该第二应用程序是否具有相应的调用权限。如果该第二应用程序具有相应的调用权限,那么该电子设备可以允许该第二应用程序调用上述电子设备的相机应用所具有的拍摄功能。由于本申请实施例中电子设备可以对应用程序调用该电子设备的相机应用所具有的拍摄功能进行权限控制,因此本申请实施例可以提高电子设备对应用程序调用相机应用所具有的拍摄功能进行精细化管理的能力。
请参阅图2,图2为本申请实施例提供的设备控制方法的另一流程示意图。该设备控制方法可以应用于电子设备,该电子设备上可以配置有第一应用程序。通过该第一应用程序,该电子设备中的应用程序可以调用该电子设备的相机应用所具有的拍摄功能。例如,该电子设备使用的是安卓(android)操作系统,该第一应用程序为camerax组件。
需要说明的是,camerax是googleandroidjetpack组件,其基于androidcamera2api(applicationprogramminginterface,应用程序编程接口)提供了更高级的cameraapi。通过cameraxapi,应用开发人员开发camera应用将变得更加简单。
camerax组件的extension功能模块提供了extensionapi,应用程序(如第三方应用)可通过extensionapi调用到电子设备的相机应用所具有的拍摄功能(如hdr拍摄功能、夜景拍摄功能、美颜功能等)。对于extension功能模块,camerax组件向上对应用程序调用相机应用所具有的拍摄功能提供了对应的api,同时向下定义了电子设备厂商需要实现的impl接口,该impl接口由电子设备厂商进行具体的实现。只有被电子设备厂商实现了extension功能的设备,应用程序才能通过cameraxextensionapi调用到相机应用所具有的拍摄功能。
本申请实施例中的camerax组件可以包括扩展模块(extension模块)和权限控制模块。通过扩展模块(extension模块),电子设备可以允许应用程序(如第三方应用等)调用该电子设备的相机应用所具有的拍摄功能。需要说明的是,上述电子设备的相机应用所具有的拍摄功能可以是指诸如hdr拍摄功能、夜景拍摄功能、美颜功能等等。
请参阅图3,图3为相关技术中camerax组件利用接口实现对相机应用所具有的拍摄功能进行调用的示意图。如图3所示,在camerax组件的实现框架内,设备厂商(originalequipmentmanufacturer,oem)通过重写(override)camerax的接口函数的方式,在接口函数内加入图像处理算法,利用图像处理算法实现对图像的处理,从而实现相机应用所具有的拍摄功能。例如,设备厂商通过在hdrcaptureextenderimpl接口的接口函数内接入hdr拍照算法从而实现hdr拍照功能。
当应用程序需要调用相机应用所具有的拍摄功能时,cameraxcoremodule(核心模块)可以先采集图像数据。在采集到图像数据后,cameraxcoremodule可以将图像数据传输到cameraxextensionmodule(扩展模块)。cameraxextensionmodule再将图像数据传输到camerax接口,例如hdrpreviewextenderimpl接口,该接口可以实现hdr预览功能。电子设备通过接口获取到图像数据后进行相应的处理,并将处理后得到的图像数据通过相应的接口反馈给camerax组件。camerax组件收到处理后的图像数据后可以进行预览显示,或者进行编码生成jpeg格式的图像并输出、保存。
例如,当第三方应用需要调用hdr预览(hdrpreview)功能时,该第三方应用可以发送调用请求至camerax组件,camerax组件在接收到该第三方应用的调用请求后,电子设备可以先利用cameraxcoremodule采集图像数据。然后,电子设备可以将采集到的图像数据传输至cameraxextensionmodule,再通过cameraxextensionmodule传输到hdrpreviewextenderimpl接口。电子设备通过hdrpreviewextenderimpl接口获取到图像数据后可以利用接口内的hdr算法对该图像数据进行处理,得到处理后的图像数据。之后,电子设备可以将处理后的图像数据通过相应的接口反馈给camerax组件,再由camerax组件反馈给第三方应用。第三方应用在收到处理后的图像数据后可以进行预览显示。
又如,当第三方应用需要调用美颜拍照(beautycapture)功能时,该第三方应用可以发送调用请求至camerax组件,camerax组件在接收到该第三方应用的调用请求后,电子设备可以先利用cameraxcoremodule采集图像数据。然后,电子设备可以采集到的图像数据传输至cameraxextensionmodule,再通过cameraxextensionmodule传输到beautycaptureextenderimpl接口。电子设备通过beautycaptureextenderimpl接口获取到图像数据后可以利用接口内的美颜算法(beautyalgorithm)对该图像数据进行处理,得到处理后的图像数据。之后,电子设备可以将处理后的图像数据通过相应的接口反馈给camerax组件,再由camerax组件反馈给第三方应用。第三方应用在收到处理后的图像数据后可以进行编码从而生成jpeg格式的照片,并将该照片输出到显示屏进行显示。
本实施例提供的设备控制方法的流程可以包括:
201、电子设备接收调用请求,该调用请求为第二应用程序通过第一应用程序调用电子设备的相机应用所具有的拍摄功能的请求。
比如,第三方应用a需要调用电子设备的相机应用所具有的拍摄功能中的hdr拍照功能。那么,该第三方应用a可以给camerax组件发送调用请求,该调用请求为调用相机应用所具有的hdr拍照功能的请求。即,电子设备可以从该第三方应用a处接收到该调用请求。
202、根据调用请求,电子设备获取存储在本地的第一权限控制信息,该第一权限控制信息为该电子设备最近一次从云端设备获取的权限控制信息,该权限控制信息为记录有各不同应用程序是否具有调用该电子设备的相机应用所具有的拍摄功能的权限的信息,该云端设备为用于维护该权限控制信息的设备,该电子设备与该云端设备在通信连接上对应。
比如,在通过camerax组件接收到第三方应用a请求调用hdr拍照功能的调用请求后,电子设备可以根据该调用请求先获取存储在该电子设备本地的第一权限控制信息。其中,该第一权限控制信息为该电子设备最近一次从云端设备获取的权限控制信息。该权限控制信息为记录有各不同应用程序是否具有调用该电子设备的相机应用所具有的拍摄功能的权限的信息。即,该第一权限控制信息中记录有哪些应用程序具有调用电子设备的相机应用所具有的拍摄功能中的hdr拍照功能的权限,以及哪些应用程序不具有调用电子设备的相机应用所具有的拍摄功能中的hdr拍照功能的权限。其中,该电子设备与该云端设备在通信连接上对应。例如,该电子设备为智能手机,该云端设备为服务器。该服务器为用于维护上述权限控制信息的服务器,当电子设备需要获取到最新的权限控制信息时,该电子设备可以从该服务器处获取最新的权限控制信息。
在获取到存储在本地的第一权限控制信息后,电子设备可以检测该第一权限控制信息中是否包含有第三方应用a的权限信息。
如果该第一权限控制信息中记载有第三方应用a的权限信息,那么进入203。
如果该第一权限控制信息中没有记载第三方应用a的权限信息,那么进入204。
203、若检测到第一权限控制信息中包含第二应用程序的权限信息,则电子设备根据该第一权限控制信息检测该第二应用程序是否具有调用电子设备的相机应用所具有的拍摄功能的权限。
比如,电子设备检测到第一权限控制信息中包含第三方应用a的权限信息,那么该电子设备可以根据该第一权限控制信息检测第三方应用a是否具有调用相机应用所具有的拍摄功能中的hdr拍照功能的权限。
如果检测到第三方应用a具有调用相机应用所具有的拍摄功能中的hdr拍照功能的权限,那么进入206。
如果检测到第三方应用a不具有调用相机应用所具有的拍摄功能中的hdr拍照功能的权限,那么进入207。
204、若检测到第一权限控制信息中不包含第二应用程序的权限信息,则电子设备获取存储在云端设备的第二权限控制信息,该第二权限控制信息为该云端设备存储的最新的权限控制信息。
205、根据第二权限控制信息,电子设备检测第二应用程序是否具有调用该电子设备的相机应用所具有的拍摄功能的权限。
比如,204和205可以包括:
电子设备检测到第一权限控制信息中不包含第三方应用a的权限信息,那么该电子设备可以再获取存储在与该电子设备对应的云端设备上的第二权限控制信息,该第二权限控制信息为该云端设备存储的最新的权限控制信息。即,该第二权限控制信息为最新的记录有哪些应用具有调用相机应用所具有的拍摄功能中的hdr拍照功能的权限,以及哪些应用不具有调用相机应用所具有的拍摄功能中的hdr拍照功能的权限的信息。
在获取到第二权限控制信息后,电子设备可以检测第三方应用a是否具有调用hdr拍照功能的权限。
如果检测到第三方应用a具有调用hdr拍照功能的权限,那么可以进入206。
如果检测到第三方应用a不具有调用hdr拍照功能的权限,或者第二权限控制信息中根本就没有记载第三方应用a的权限信息,那么可以进入207。
206、若第二应用程序具有权限,则电子设备允许该第二应用程序调用电子设备的相机应用所具有的拍摄功能。
比如,电子设备检测到第三方应用a具有调用hdr拍照功能的权限,那么该电子设备可以允许第三方应用a通过camerax组件调用hdr拍照功能。
207、若应用不具有权限,则电子设备拒绝调用请求。
比如,电子设备检测到第三方应用a没有调用hdr拍照功能的权限,那么该电子设备可以拒绝第三方应用a的调用请求。
在一种实施方式中,本申请实施例还可以包括如下流程:
电子设备根据第二权限控制信息更新第一权限控制信息。
比如,电子设备在获取到第二权限控制信息后还可以根据该第二权限控制信息更新第一权限控制信息。
在本实施例中,存储在云端设备的第二权限控制信息可以是由电子设备的厂商维护的权限控制信息,因此第二权限控制信息可以是最新的权限信息,其中记录有最新的各应用程序的权限信息。而存储在本地的第一权限控制信息可能具有一定的滞后性,因此当电子设备检测到存储在本地的第一权限控制信息中没有记录关于第三方应用a的权限信息时,电子设备可以再获取存储在云端设备的第二权限控制信息,并根据该第二权限控制信息检测第三方应用a是否具有调用相机应用所具有的拍摄功能的权限。
在检测完第三方应用a是否具有调用相机应用所具有的拍摄功能的权限后,电子设备还可以根据第二权限控制信息更新第一权限控制信息,从而将存储在云端设备的最新的权限控制信息同步更新到本地。
在另一种实施方式中,本实施例还可以包括如下流程:
按照预设更新时机,电子设备获取存储在云端设备的权限控制信息;
根据获取到的该存储在云端设备的权限控制信息,电子设备更新存储在该电子设备的权限控制信息。
比如,如前所述,云端设备存储的是最新的权限控制信息,因此电子设备可以按照预设的更新时机,获取存储在云端设备的权限控制信息,并根据获取到的该存储在云端设备的权限控制信息更新存储在本地的权限控制信息,从而将存储在云端设备的最新的权限控制信息同步更新到本地。
在一种实施方式中,上述按照预设更新时机获取存储在云端设备的权限控制信息,可以包括:
当检测到电子设备空闲时,该电子设备获取存储在云端设备的权限控制信息。
比如,当检测到电子设备处于空闲状态时,该电子设备可获取存储在云端设备的权限控制信息,并根据获取到的该存储在云端设备的权限控制信息更新存储在本地的权限控制信息。即,预设更新时机为电子设备空闲时。
需要说明的是,上述空闲状态可以是指电子设备在前台没有运行应用程序且没有接收到用户通过输入设备(例如触摸屏或键盘等)输入信息的状态。或者,上述空闲状态也可以是指电子设备的cpu使用率低于一定的阈值,或剩余运行内存容量在运行内存总容量中所占的比例低于一定的比例阈值的情况等。
或者,在另一种实施方式中,上述按照预设更新时机获取存储在云端的权限控制信息,可以包括:
当检测到电子设备开机时,该电子设备获取存储在云端设备的权限控制信息。
比如,当检测到电子设备刚刚开机完成时,该电子设备可获取存储在云端设备的权限控制信息,并根据获取到的该存储在云端设备的权限控制信息更新存储在本地的权限控制信息。即,预设时机为电子设备开机时。
在又一种实施方式中,上述按照预设更新时机获取存储在云端的权限控制信息,可以包括:
当接收到更新请求时,电子设备获取存储在云端设备的权限控制信息,该更新请求为由该云端设备发送的对该电子设备中存储的权限控制信息进行更新的请求。
比如,由于云端设备中维护有最新的权限控制信息,因此云端设备也可以在其更新了最新的权限控制信息后,主动发送更新请求到电子设备中,用于请求对电子设备中的权限控制信息进行更新。在接收到该更新请求后,电子设备可以从云端设备处获取最新的权限控制信息,并据此更新该电子设备中的权限控制信息,从而使电子设备中保存的为最新的权限控制信息。
可以理解的是,通过上述方式为了使电子设备在后续使用过程中能够根据最新的权限控制信息来控制第三方应用对电子设备的相机应用所具有的拍摄功能的调用。
请参阅图4至图6,图4至图6为本申请实施例提供的设备控制方法的实现示意图。
比如,电子设备使用的是安卓操作系统,在该电子设备上安装有camerax组件。该camerax组件可以包括扩展模块(即extension模块)。通过扩展模块(extension模块),第三方应用可以调用该电子设备的相机应用所具有的拍摄功能。上述电子设备的相机应用所具有的拍摄功能可以是指电子设备的厂商自主研发的相机拍摄功能,例如hdr拍摄功能、夜景拍摄功能、美颜功能等等。
一方面,如图3所示,在camerax组件的实现框架内,设备厂商通过重写(override)camerax的接口函数的方式,在接口函数内加入图像处理算法,利用图像处理算法实现对图像的处理。另一方面,如图4所示,camerax组件向第三方应用提供了用于调用相机应用所具有的拍摄功能的接口cameraxextensionapi,通过访问这些接口第三方应用即可实现对相机应用所具有的拍摄功能的调用。
在本实施例中,camerax组件还可以包括权限控制模块(accesscontroller),该权限控制模块可以用于控制第三方应用对电子设备的相机应用所具有的拍摄功能的使用。
如图5所示,当第三方应用a通过camerax组件的extension模块调用电子设备的相机应用所具有的拍摄功能(如hdr拍摄功能)时,电子设备可以在厂商实现模块(oemimplementation)先调用权限控制模块,并通过权限控制模块检测该第三方应用a是否具有调用相机应用所具有的拍摄功能的权限。如果检测到第三方应用a具有调用电子设备的相机应用所具有的拍摄功能的权限,那么电子设备可以允许该第三方应用a调用相应的拍摄功能。如果检测到第三方应用a不具有调用相机应用所具有的拍摄功能的权限,那么电子设备可以拒绝该第三方应用a对响应的拍摄功能的调用。
在一种实施方式中,请参阅图5,当第三方应用a通过camerax组件请求调用电子设备的相机应用所具有的拍摄功能时,该第三方应用a可以先通过camerax组件提供的isextensionavaliable接口调用厂商实现模块oemimplementation中的isextensionavaliable函数。若该isextensionavaliable函数返回ture值,则表示电子设备的相机应用所具有的拍摄功能已被厂商实现且可被访问。若该isextensionavaliable函数返回false值,则表示电子设备的相机应用所具有的拍摄功能未被厂商实现或者不可被访问。
本实施例中,例如该isextensionavaliable函数返回ture值。在这种情况下,厂商实现模块oemimplementation可以通过调用权限控制模块accesscontroller提供的接口,来利用该权限控制模块accesscontroller检测该第三方应用a是否具有调用相机应用所具有的拍摄功能的权限。
如图6所示,通过权限控制模块accesscontroller,电子设备可以先从本地数据库中获取存储在本地的第一权限控制信息,并检测该第一权限控制信息中是否记载有第三方应用a的权限信息。
若第一权限控制信息中记载有第三方应用a的权限信息,那么电子设备可以根据第一权限控制信息中记载的第三方应用a的权限信息来确定是否允许第三方应用a调用电子设备的相机应用所具有的拍摄功能。比如,第一权限控制信息中记载了第三方应用a有权限调用相机应用所具有的拍摄功能,那么电子设备可以允许第三方应用a调用相机应用所具有的拍摄功能。或者,第一权限控制信息中记载了第三方应用a没有权限调用相机应用所具有的拍摄功能,那么电子设备可以拒绝第三方应用a调用相机应用所具有的拍摄功能。
若第一权限控制信息中没有记载第三方应用a是否有权限调用相机应用所具有的拍摄功能,那么电子设备还可以从云端数据库中获取存储在云端的第二权限控制信息,并检测该第二权限控制信息中是否记载有第三方应用a的权限信息。
若第二权限控制信息中记载有第三方应用a的权限信息,那么电子设备可以根据第二权限控制信息中记载的第三方应用a的权限信息来确定是否允许第三方应用a调用电子设备的相机应用所具有的拍摄功能。比如,第二权限控制信息中记载了第三方应用a有权限调用相机应用所具有的拍摄功能,那么电子设备可以允许第三方应用a调用相机应用所具有的拍摄功能。或者,第二权限控制信息中记载了第三方应用a没有权限调用相机应用所具有的拍摄功能,那么电子设备可以拒绝第三方应用a调用相机应用所具有的拍摄功能。
若第二权限控制信息中也没有记载第三方应用a的权限信息,那么电子设备可以拒绝第三方应用a调用相机应用所具有的拍摄功能。
或者,在另一种实施方式中,电子设备也可以不必从云端设备获取第二权限控制信息,而是直接将第三方应用a的应用信息(如第三方应用a的应用包名等信息)上传云端设备,由云端设备根据第三方应用a的应用信息在云端存储的权限控制信息中查询该第三方应用a是否具有调用电子设备的相机应用所具有的拍摄功能的权限,并将查询结果反馈给电子设备。电子设备可以根据反馈结果确定是否允许第三方应用a调用电子设备的相机应用所具有的拍摄功能。
可以理解的是,本申请实施例中,通过对第三方应用调用电子设备的相机应用所具有的拍摄功能进行权限控制,一方面保证了相机应用所具有的拍摄功能能够通过camerax组件开放给第三方应用使用,另一方面又使得电子设备厂商能够对第三方应用调用相机应用所具有的拍摄功能的调用权限进行动态控制,将权限开放给优质的第三方应用,禁止劣质第三方应用使用,从而避免劣质第三方应用滥用相机应用所具有的拍摄功能带来的负面影响,提高camerax组件的整体使用体验。
另一方面,第三方应用调用相机应用所具有的拍摄功能的权限控制信息既可以存储在电子设备本地又可以存储在云端设备,这样既能满足对权限查询的效率要求,又能方便地进行权限的动态修改(如权限的添加和删除)等。
请参阅图7,图7为本申请实施例提供的设备控制装置的结构示意图。该设备控制装置可以应用于电子设备,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能。设备控制装置300可以包括:接收模块301,检测模块302,响应模块303。
接收模块301,用于接收调用请求,所述调用请求为第二应用程序通过所述第一应用程序调用所述电子设备的相机应用所具有的拍摄功能的请求。
检测模块302,用于根据所述调用请求,检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限。
响应模块303,用于若所述第二应用程序具有所述权限,则允许所述第二应用程序调用所述电子设备的相机应用所具有的拍摄功能。
在一种实施方式中,所述检测模块302可以用于:
获取存储在所述电子设备的第一权限控制信息,所述第一权限控制信息为所述电子设备最近一次从云端设备获取的权限控制信息,所述权限控制信息为记录有各不同应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限的信息,所述云端设备为用于维护所述权限控制信息的设备,所述电子设备与所述云端设备在通信连接上对应;
若检测到所述第一权限控制信息中包含所述第二应用程序的权限信息,则根据所述第一权限控制信息检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限。
在一种实施方式中,所述检测模块302还可以用于:
若检测到所述第一权限控制信息中不包含所述第二应用程序的权限信息,则获取存储在所述云端设备的第二权限控制信息,所述第二权限控制信息为所述云端设备存储的最新的权限控制信息;
根据所述第二权限控制信息,检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限。
在一种实施方式中,所述检测模块302还可以用于:
根据所述第二权限控制信息更新所述第一权限控制信息。
在一种实施方式中,所述检测模块302还可以用于:
按照预设更新时机,获取存储在所述云端设备的权限控制信息;
根据获取到的存储在所述云端设备的权限控制信息,更新存储在所述电子设备的权限控制信息。
在一种实施方式中,所述检测模块302可以用于:
当检测到所述电子设备空闲时,获取存储在所述云端设备的权限控制信息。
在一种实施方式中,所述检测模块302可以用于:
当检测到所述电子设备开机时,获取存储在所述云端设备的权限控制信息。
在一种实施方式中,所述检测模块302可以用于:
当接收到更新请求时,获取存储在所述云端设备的权限控制信息,所述更新请求为由所述云端设备发送的对所述电子设备中存储的权限控制信息进行更新的请求。
本申请实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的设备控制方法中的流程。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的设备控制方法中的流程。
例如,上述电子设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图8,图8为本申请实施例提供的电子设备的结构示意图。
该电子设备400可以包括摄像模块401、存储器402、处理器403等部件。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
摄像模块401可以包括诸如摄像镜头、图像传感器等部件。摄像模块401可以用于拍摄图像。
存储器402可用于存储应用程序和数据。存储器402存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器403通过运行存储在存储器402的应用程序,从而执行各种功能应用以及数据处理。
处理器403是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
并且,电子设备配置有第一应用程序,通过该第一应用程序,该电子设备中的应用程序可调用该电子设备的相机应用所具有的拍摄功能
在本实施例中,电子设备中的处理器403会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器402中,并由处理器403来运行存储在存储器402中的应用程序,从而执行:
接收调用请求,所述调用请求为第二应用程序通过所述第一应用程序调用所述电子设备的相机应用所具有的拍摄功能的请求;
根据所述调用请求,检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限;
若所述第二应用程序具有所述权限,则允许所述第二应用程序调用所述电子设备的相机应用所具有的拍摄功能。
请参阅图9,电子设备400可以包括摄像模块401、存储器402、处理器403、输入单元404、输出单元405、供电模块406等部件。
摄像模块401可以包括诸如摄像镜头、图像传感器等部件。摄像模块401可以用于拍摄图像。
存储器402可用于存储应用程序和数据。存储器402存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器403通过运行存储在存储器402的应用程序,从而执行各种功能应用以及数据处理。
处理器403是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
输入单元404可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
输出单元405可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。输出单元可包括显示面板。
供电模块406可以给电子设备的各个模块供应电能。
并且,电子设备配置有第一应用程序,通过该第一应用程序,该电子设备中的应用程序可调用该电子设备的相机应用所具有的拍摄功能。
在本实施例中,电子设备中的处理器403会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器402中,并由处理器403来运行存储在存储器402中的应用程序,从而执行:
接收调用请求,所述调用请求为第二应用程序通过所述第一应用程序调用所述电子设备的相机应用所具有的拍摄功能的请求;
根据所述调用请求,检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限;
若所述第二应用程序具有所述权限,则允许所述第二应用程序调用所述电子设备的相机应用所具有的拍摄功能。
在一种实施方式中,处理器401执行所述检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限时,可以执行:
获取存储在所述电子设备的第一权限控制信息,所述第一权限控制信息为所述电子设备最近一次从云端设备获取的权限控制信息,所述权限控制信息为记录有各不同应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限的信息,所述云端设备为用于维护所述权限控制信息的设备,所述电子设备与所述云端设备在通信连接上对应;
若检测到所述第一权限控制信息中包含所述第二应用程序的权限信息,则根据所述第一权限控制信息检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限。
在一种实施方式中,处理器401还可以执行:
若检测到所述第一权限控制信息中不包含所述第二应用程序的权限信息,则获取存储在所述云端设备的第二权限控制信息,所述第二权限控制信息为所述云端设备存储的最新的权限控制信息;
根据所述第二权限控制信息,检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限。
在一种实施方式中,处理器401还可以执行:
根据所述第二权限控制信息更新所述第一权限控制信息。
在一种实施方式中,处理器401还可以执行:
按照预设更新时机,获取存储在所述云端设备的权限控制信息;
根据获取到的存储在所述云端设备的权限控制信息,更新存储在所述电子设备的权限控制信息。
在一种实施方式中,处理器401执行按照预设更新时机,获取存储在所述云端设备的权限控制信息时,可以执行:当检测到所述电子设备空闲时,获取存储在所述云端设备的权限控制信息。
在一种实施方式中,处理器401执行按照预设更新时机,获取存储在所述云端设备的权限控制信息时,可以执行:当检测到所述电子设备开机时,获取存储在所述云端设备的权限控制信息。
在一种实施方式中,处理器401执行按照预设更新时机,获取存储在所述云端设备的权限控制信息时,可以执行:当接收到更新请求时,获取存储在所述云端设备的权限控制信息,所述更新请求为由所述云端设备发送的对所述电子设备中存储的权限控制信息进行更新的请求。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对设备控制方法的详细描述,此处不再赘述。
本申请实施例提供的所述设备控制装置与上文实施例中的设备控制方法属于同一构思,在所述设备控制装置上可以运行所述设备控制方法实施例中提供的任一方法,其具体实现过程详见所述设备控制方法实施例,此处不再赘述。
需要说明的是,对本申请实施例所述设备控制方法而言,本领域普通技术人员可以理解实现本申请实施例所述设备控制方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述设备控制方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)等。
对本申请实施例的所述设备控制装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种设备控制方法、装置、存储介质以及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
1.一种设备控制方法,应用于电子设备,其特征在于,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述方法包括:
接收调用请求,所述调用请求为第二应用程序通过所述第一应用程序调用所述电子设备的相机应用所具有的拍摄功能的请求;
根据所述调用请求,检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限;
若所述第二应用程序具有所述权限,则允许所述第二应用程序调用所述电子设备的相机应用所具有的拍摄功能。
2.根据权利要求1所述的设备控制方法,其特征在于,所述检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限,包括:
获取存储在所述电子设备的第一权限控制信息,所述第一权限控制信息为所述电子设备最近一次从云端设备获取的权限控制信息,所述权限控制信息为记录有各不同应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限的信息,所述云端设备为用于维护所述权限控制信息的设备,所述电子设备与所述云端设备在通信连接上对应;
若检测到所述第一权限控制信息中包含所述第二应用程序的权限信息,则根据所述第一权限控制信息检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限。
3.根据权利要求2所述的设备控制方法,其特征在于,所述方法还包括:
若检测到所述第一权限控制信息中不包含所述第二应用程序的权限信息,则获取存储在所述云端设备的第二权限控制信息,所述第二权限控制信息为所述云端设备存储的最新的权限控制信息;
根据所述第二权限控制信息,检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限。
4.根据权利要求3所述的设备控制方法,其特征在于,所述方法还包括:
根据所述第二权限控制信息更新所述第一权限控制信息。
5.根据权利要求3所述的设备控制方法,其特征在于,所述方法还包括:
按照预设更新时机,获取存储在所述云端设备的权限控制信息;
根据获取到的存储在所述云端设备的权限控制信息,更新存储在所述电子设备的权限控制信息。
6.根据权利要求5所述的设备控制方法,其特征在于,按照预设更新时机,获取存储在所述云端设备的权限控制信息,包括:
当检测到所述电子设备空闲时,获取存储在所述云端设备的权限控制信息。
7.根据权利要求5所述的设备控制方法,其特征在于,按照预设更新时机,获取存储在所述云端设备的权限控制信息,包括:
当检测到所述电子设备开机时,获取存储在所述云端设备的权限控制信息。
8.根据权利要求5所述的设备控制方法,其特征在于,按照预设更新时机,获取存储在所述云端设备的权限控制信息,包括:
当接收到更新请求时,获取存储在所述云端设备的权限控制信息,所述更新请求为由所述云端设备发送的对所述电子设备中存储的权限控制信息进行更新的请求。
9.一种设备控制装置,应用于电子设备,其特征在于,所述电子设备配置有第一应用程序,通过所述第一应用程序,所述电子设备中的应用程序可调用所述电子设备的相机应用所具有的拍摄功能,所述装置包括:
接收模块,用于接收调用请求,所述调用请求为第二应用程序通过所述第一应用程序调用所述电子设备的相机应用所具有的拍摄功能的请求;
检测模块,用于根据所述调用请求,检测所述第二应用程序是否具有调用所述电子设备的相机应用所具有的拍摄功能的权限;
响应模块,用于若所述第二应用程序具有所述权限,则允许所述第二应用程序调用所述电子设备的相机应用所具有的拍摄功能。
10.一种存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上执行时,使得所述计算机执行如权利要求1至8中任一项所述的方法。
11.一种电子设备,包括存储器,处理器,其特征在于,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如权利要求1至8中任一项所述的方法。
技术总结