拍摄方法、可读存储介质、电子设备转让专利

申请号 : CN202310809507.0

文献号 : CN116528063B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 尚义卓张祎刘航邓嘉凯王硕强

申请人 : 荣耀终端有限公司

摘要 :

本申请涉及终端技术领域,公开了一种拍摄方法、可读存储介质、电子设备。本申请的拍摄方法包括:电子设备上安装的第一应用调用相机服务时,会发送调用相机服务的第一采集参数,第一采集参数中包括第一分辨率;电子设备上的相机服务模块确定存储的对应第一应用的预设采集参数中存在第二采集参数时,使用第二采集参数获取图像数据发送给第一应用,其中,第二采集参数中包括与第一分辨率的比例对应的第二分辨率。通过本发明,相机服务模块根据第二采集参数获取图像数据发送给第一应用,保证第一应用获取的图像更加清晰并且不会出现卡顿异常等情况,从而实现第一应用的相应功能。

权利要求 :

1.一种拍摄方法,应用于电子设备,其特征在于,所述方法包括:检测到所述电子设备安装的第一应用调用相机服务,获取所述第一应用调用所述相机服务发送的第一采集参数,所述第一采集参数包括第一分辨率;

确定出所述第一应用的预设采集参数中,存在第二采集参数,其中,所述第二采集参数包括与所述第一分辨率的比例相同的第二分辨率;所述第一分辨率小于所述第二分辨率;

所述电子设备存储有第一列表,所述第一列表包括应用的标识和对应所述标识的预设采集参数;

所述确定出所述第一应用的预设采集参数中,存在第二采集参数,包括:获取所述第一应用调用所述相机服务发送的标识所述第一应用的第一标识;

确定出所述第一列表中存在与所述第一标识相同的第二标识;

从所述第二标识对应的预设采集参数中确定出所述第二采集参数;

使用所述第二采集参数,为所述第一应用提供所述相机服务。

2.根据权利要求1所述的方法,其特征在于,所述获取所述第一应用调用所述相机服务发送的第一采集参数,包括:向所述第一应用发送相机支持的采集参数列表,并接收所述第一应用从所述采集参数列表中选择的所述第一采集参数。

3.根据权利要求1所述的方法,其特征在于,所述第一标识为所述第一应用的应用包名,所述第二标识标为所述第一列表存储的应用包名,所述预设采集参数与所述第一列表中存储的应用包名对应的应用相匹配。

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一应用包括下列应用中的至少一种:会议应用、即时通信应用、直播应用、地图应用和导航应用。

5.一种电子设备,其特征在于,包括相机服务模块和第一应用;

所述相机服务模块检测到所述第一应用调用相机服务,获取所述第一应用调用所述相机服务发送的第一采集参数,所述第一采集参数包括第一分辨率;

所述相机服务模块确定出所述第一应用的预设采集参数中,存在第二采集参数,其中,所述第二采集参数包括与所述第一分辨率的比例对应的第二分辨率;所述第一分辨率小于所述第二分辨率;

所述相机服务模块存储有第一列表,所述第一列表包括应用的标识和对应所述标识的预设采集参数;

所述相机服务模块确定出所述第一应用的预设采集参数中,存在第二采集参数,包括:所述相机服务模块获取所述第一应用调用所述相机服务发送的标识所述第一应用的第一标识;

所述相机服务模块确定出所述第一列表中存在与所述第一标识相同的第二标识;

所述相机服务模块从所述第二标识对应的预设采集参数中确定出所述第二采集参数;

所述相机服务模块使用所述第二采集参数,为所述第一应用提供所述相机服务。

6.一种电子设备,其特征在于,包括存储器,用于存储指令;

至少一个处理器,用于执行所述指令以使得所述电子设备实现权利要求1至4中任一项所述的拍摄方法。

7.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储有指令,所述指令在计算机上执行时,使所述计算机执行权利要求1至4中任一项所述的拍摄方法。

说明书 :

拍摄方法、可读存储介质、电子设备

技术领域

[0001] 本申请涉及终端技术领域,特别涉及一种拍摄方法、可读存储介质、电子设备。

背景技术

[0002] 电子设备中的应用程序在通过相机拍摄图像时,一般先获取电子设备相机支持的多组采集参数(例如分辨率、帧率、比例等),然后从多组采集参数中选择一种来拍摄图像。但是,在一些场景中,应用程序选择的采集参数可能会与电子设备的软件或相机不匹配,导致电子设备出现卡死、应用程序闪退、拍摄的图像异常拉伸、拍摄的图像分辨率较低等问题,影响用户体验。

发明内容

[0003] 本申请实施例提供了一种拍摄方法、可读存储介质、电子设备。
[0004] 第一方面,本申请实施例提供了一种拍摄方法,应用于电子设备,方法包括:检测到电子设备安装的第一应用调用相机服务,获取第一应用调用相机服务发送的第一采集参数,第一采集参数包括第一分辨率;确定出第一应用的预设采集参数中,存在第二采集参数,其中,第二采集参数包括与第一分辨率的比例相同的第二分辨率;使用第二采集参数,为第一应用提供相机服务。
[0005] 可以理解,在本申请的一些实施例中,第一采集参数在下文中还可以称为目标采集参数,预设采集参数在下文中还可以被称为定制采集参数。第一应用调用相机服务时,需要相机服务以第一分辨率获取图像数据,但是第一分辨率的分辨率大小并不一定适合第一应用,会导致第一应用获取的图像异常拉伸或者图像不清晰。第二分辨率例如可以是开发人员调试好的适合第一应用使用的分辨率,第一应用通过第二分辨率获取的图像数据不会出现异常拉伸或者图像不清晰的问题。因此通过将第一应用下发的第一分辨率替换成第二分辨率获取图像数据,能够使第一应用更好的实现相应的功能。
[0006] 在上述第一方面的一种可能的实现中,上述第一分辨率与第二分辨率不同。
[0007] 可以理解,在本申请的一些实施例中,第一分辨率是第一应用选择的,第一应用没有一套完整的规则选择合适的分辨率,因此第一分辨率会与第二分辨率不同。在另一些实施例中,第一应用选择的第一分辨率也可能会与第二分辨率相同。在下文中,第一分辨率也可以被称为目标分辨率,第二分辨率也可以被称为定制分辨率。
[0008] 在上述第一方面的一种可能的实现中,上述获取第一应用调用相机服务发送的第一采集参数,包括:向第一应用发送相机支持的采集参数列表,并接收第一应用从采集参数列表中选择的第一采集参数。
[0009] 可以理解,在本申请的一些实施例中,第一应用可以从相机支持的采集参数列表中选择第一采集参数,以通过第一采集参数调用相机服务获取图像数据。
[0010] 在上述第一方面的一种可能的实现中,上述电子设备存储有第一列表,第一列表包括应用的标识和对应标识的预设采集参数。
[0011] 可以理解,在本申请的一些实施例中,第一列表还可以被称为白名单,应用的标识例如可以是对应应用的应用包名。第一列表中例如可以包括应用的包名以及对应应用的预设采集参数。第一列表例如可以存储在电子设备的相机服务中。
[0012] 在上述第一方面的一种可能的实现中,上述确定出第一应用的预设采集参数中,存在第二采集参数,包括:获取第一应用调用相机服务发送的标识第一应用的第一标识;确定出第一列表中存在与第一标识相同的第二标识;从第二标识对应的预设采集参数中确定出第二采集参数。
[0013] 可以理解,在本申请的一些实施例中,第一标识例如可以是第一应用的应用包名,第二标识例如也可以是第一应用的包名,当第一应用的包名在第一列表中时,表示第一列表存储有第一应用的预设采集参数,相机服务可以从预设采集参数中确定第二采集参数。
[0014] 在上述第一方面的一种可能的实现中,上述第一标识为第一应用的应用包名,第二标识标为第一列表存储的应用包名,预设采集参数与第一列表中存储的应用包名对应的应用相匹配。
[0015] 在上述第一方面的一种可能的实现中,上述第一应用包括下列应用中的至少一种:会议应用、即时通信应用、直播应用、地图应用和导航应用。
[0016] 可以理解,在本申请的一些实施例中,第一应用例如是可以调用相机服务获取图像的应用,例如会议应用、即时通信应用、直播应用、地图应用和导航应用等。
[0017] 第二方面,本申请实施例提供了一种电子设备,包括相机服务模块和第一应用;
[0018] 相机服务模块检测到第一应用调用相机服务,获取第一应用调用相机服务发送的第一采集参数,第一采集参数包括第一分辨率;相机服务模块确定出第一应用的预设采集参数中,存在第二采集参数,其中,第二采集参数包括与第一分辨率的比例对应的第二分辨率;相机服务模块使用第二采集参数,为第一应用提供相机服务。
[0019] 第三方面,本申请实施例提供了一种包括存储器,用于存储指令;至少一个处理器,用于执行指令以使得电子设备实现上述第一方面及上述第一方面的任意一种可能实现提供的拍摄方法。
[0020] 第四方面,本申请实施例提供了一种可读存储介质上存储有指令,指令在计算机上执行时,使计算机执行上述第一方面及上述第一方面的任意一种可能实现提供的拍摄方法。
[0021] 第五方面,本申请提供一种程序产品,该程序产品在电子设备上运行时使得电子设备实现上述第一方面及上述第一方面的任意一种可能实现提供的拍摄方法。
[0022] 应理解,上述第二方面至第五方面的有益效果可以参考前述第一方面的描述,在此不做赘述。

附图说明

[0023] 图1示出了一种用户通过手机上的聊天应用扫描二维码的场景示意图;
[0024] 图2示出了一种用户通过手机上的会议应用进行视频通话的场景示意图;
[0025] 图3示出了一种应用程序调用相机服务进行拍照的实施流程图;
[0026] 图4a根据本申请的一些实施例,示出了一种用户通过手机上的聊天应用正常扫描二维码的场景示意图;
[0027] 图4b根据本申请的一些实施例,示出了一种用户通过手机上的会议应用进行视频通话的场景对比的示意图;
[0028] 图5根据本申请的一些实施例,示出了一种手机的系统软件架构示意框图;
[0029] 图6a根据本申请的一些实施例,示出了一种应用程序调用相机服务获取图像数据的交互流程图;
[0030] 图6b根据本申请的一些实施例,示出了存储配置文件的示意图;
[0031] 图6c根据本申请的一些实施例,示出了一种配置文件;
[0032] 图7根据本申请的一些实施例,示出了一种更新白名单的交互流程图;
[0033] 图8根据本申请的一些实施例,示出了一种手机的结构示意图。

具体实施方式

[0034] 本申请的说明性实施例包括但不限于拍摄方法、可读存储介质、电子设备。
[0035] 为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合说明书附图以及具体的实施方式对本申请实施例中的技术方案进行详细的说明。
[0036] 如前所述,在一些场景中,应用程序选择的采集参数可能会与电子设备的软件或相机不匹配,导致电子设备出现卡死、应用程序闪退、拍摄的图像异常拉伸、拍摄的图像分辨率较低等问题,影响用户体验。
[0037] 例如,图1示出了一种用户通过手机上的三方应用扫描二维码的场景示意图。
[0038] 参照图1,用户使用手机100上的三方应用例如可以是聊天应用,用户通过聊天应用扫描二维码信息。在手机100的01界面中,示出了“将二维码/条码放入框内,即可自动扫码”的提示信息,并且在框内显示了用户想要扫描的二维码图像10。但是,由于聊天应用选择的采集参数与手机的相机不匹配,导致二维码图像10出现了异常拉伸的情况。例如,聊天应用在选择相机底层支持的采集参数可以包括比例为2:1的分辨率参数。例如,聊天应用选择了640×320的分辨率参数。但是聊天应用需要512对齐的分辨率参数,即分辨率的参数为512的倍数,例如1024×512。这就导致聊天应用所需的分辨率参数与选择的分辨率参数不匹配,因此,聊天应用在获取二维码图像10时,会显示异常拉伸,影响用户的使用体验。
[0039] 又例如,图2示出了一种用户通过手机上的会议应用进行视频通话的场景示意图。
[0040] 参照图2,在用户通过手机100上的会议应用进行视频通话时,手机100上的03界面显示了用户的图像40。可以理解,由于会议应用选择的采集参数与手机100的前置相机30不匹配,导致用户在进行视频通话时,图像40比较模糊。例如,用户使用手机100上的会议应用进行视频通话时,会议应用选择的相机分辨率比例是16:9,手机100相机底层支持的16:9的分辨率包括1920×1080、1600×900、1280×720、960×540和640×360。会议应用一般会选择最低的分辨率进行视频通话,例如选择640×360的分辨率,这样就会导致会议应用进行视频通过时的图像不够清晰。
[0041] 图3示出了一种应用程序调用相机服务进行拍照的实施流程图。
[0042] 参照图3,该流程包括:
[0043] 301,应用程序获取相机所支持的采集参数列表。
[0044] 示例性地,应用程序在调用相机服务进行拍照时,可以从相机驱动获取手机100的相机支持的全部采集参数。在一些实施例中,手机100的相机支持的采集参数可以有多组,每组采集参数可以包括分辨率、比例、帧率等。
[0045] 302,应用程序从采集参数列表中选择出目标采集参数,并通过目标采集参数调用相机服务。
[0046] 示例性地,应用程序根据相机上报的采集参数列表中选择满足条件的目标采集参数(在另一些实施例中也可以称为第一采集参数)。例如,在图1实施例中,聊天应用选择比例为2:1的分辨率调用相机服务获取图像数据,相机上报的采集参数列表中比例为2:1的分辨率包括640×320、720×360、1024×512。应用程序往往会选择一个较低的分辨率调用相机服务,例如选择640×320的分辨率调用相机服务获取图像数据。或者在图2实施例中,会议应用选择比例为16:9的分辨率调用相机服务获取图像数据。相机上报的16:9的分辨率列表包括1920×1080、1600×900、1280×720、960×540和640×360。而会议应用一般会选择一个较低的分辨率获取图像数据,例如选择640×360的分辨率调用相机服务获取图像数据。
[0047] 在另一些实施例中,应用程序还会选择较大的分辨率或者随机选择分辨率获取图像,但是均有可能选择到的分辨率不能够与应用程序匹配。
[0048] 303,相机服务根据目标采集参数启动相机采集图像。
[0049] 示例性地,应用程序选择好目标采集参数后将该目标采集参数发送给相机服务,相机服务根据目标采集参数获取图像数据,并将采集到的图像数据上报给应用程序。
[0050] 304,应用程序获取并显示相机服务上报的图像数据。
[0051] 示例性地,应用程序从相机服务获取图像数据从而实现相应的功能。例如,会议应用通过相机服务获取图像数据,以实现视频通话的功能。聊天应用通过相机服务获取二维码的图像数据,以实现识别二维码的功能。
[0052] 在上述实施例中,应用程序获取相机上报的采集参数列表后,会从采集参数列表中选择相应的目标采集参数。但是,应用程序选择的目标采集参数中的分辨率大小可能与自身的需求不匹配。容易导致电子设备出现卡死、应用程序闪退、拍摄的图像异常拉伸、拍摄的图像分辨率较低等问题。例如,在图1的实施例中,聊天应用选择的分辨率与自身所需的分辨率不匹配,导致聊天应用扫描二维码时发生异常拉伸的情况。在图2的实施例中,会议应用选择的分辨率与自身所需的分辨率不同,导致会议应用获取的图像不够清晰。
[0053] 为了解决上述问题,本申请提供了一种拍摄方法。在该方法中,电子设备可以存储第一应用的白名单,白名单中包括了第一应用的标识以及第一应用对应的至少一组定制采集参数,其中,定制采集参数可以包括不会导致电子设备出现卡顿、拍摄图像异常拉伸和拍摄的图像的分辨率较低的采集参数。应理解,定制采集参数可以根据应用本身的需求以及用户的需求调试设置。电子设备中用于实现拍摄功能的模块(例如相机服务)在获取第一应用选择的目标采集参数时,如果第一应用在电子设备存储的白名单中,相机服务可以从第一应用对应的定制采集参数中,选择出与目标采集参数的分辨率比例匹配的第二采集参数,并通过该第二采集参数启动相机进行图像采集。
[0054] 应理解,目标采集参数中可以包括分辨率、帧率、比例中的至少一个。为便于描述,以下以目标采集参数为分辨率进行介绍。
[0055] 通过本方案,电子设备在白名单中的应用在通过相机拍摄图像时,相机服务会通过该应用的定制采集参数来启动相机,可以避免电子设备出现卡死、应用程序闪退、拍摄的图像异常拉伸、拍摄的图像分辨率较低等问题,从而提高用户的使用体验。
[0056] 例如,在图1实施例中,手机100存储的白名单中如果包括聊天应用,聊天应用在扫码时需要的分辨率比例为2:1,并且在白名单中比例为的2:1的定制分辨率为1024×512。则聊天应用在调用相机服务时,会在相机提供的采集参数中选择640×320的分辨率调用相机服务,但是,相机服务可以利用聊天应用的定制分辨率替换聊天应用选择的分辨率。例如,相机服务将聊天应用选择的640×320的分辨率替换为1024×512的分辨率,从而通过1024×512的分辨率获取图像,从而避免电子设备通过聊天扫描二维码出现异常拉伸的情况。如图4a所示,聊天应用基于1024×512的分辨率采集图像时能够正常扫描二维码获得正常的二维码图像10’。
[0057] 又例如,在图2实施例中,手机100存储的白名单包括会议应用,会议应用在16:9的分辨率比例中的定制分辨率为1920×1080。则会议应用在调用相机服务时,相机服务将会议应用定制的1920×1080的分辨率替换会议应用选择的640×360的分辨率,从而以1920×1080的分辨率获取图像,使会议应用在视频通话中图像更加清晰。如图4b所示,用户使用会议应用进行视频通话时,会议应用通过基于1920×1080的分辨率获取图像数据,能够在视频通话中显示更清晰的图像40’。
[0058] 下面对本申请的获取图像的方法进行详细介绍,参阅图5,图5是本申请实施例提供的一种手机100的系统软件架构。
[0059] 图5根据本申请实施例示出了一种手机100的系统软件架构示意框图。
[0060] 手机100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的android系统为例,示例性说明手机100的软件结构。
[0061] 分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
[0062] 如图5所示,应用程序层可以包括一系列应用程序包。
[0063] 应用程序包可以包括相机,图库,聊天,通话,地图,导航,WLAN,蓝牙,音乐,会议,短信息等应用程序。
[0064] 其中,第一应用例如可以包括聊天,地图,导航和会议等能够调用相机实现拍摄、扫码或者获取图像等功能的应用。
[0065] 应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
[0066] 应用程序框架层可以包括相机服务(camera server),窗口管理服务(windows manager service,WMS),视图系统(view system),图形系统(graphics system),显示合成(surface flinger),显示引擎服务(display engine service),资源管理器,通知管理器等。
[0067] 相机服务是相机框架的核心进程模块,主要向应用程序层提供API接口功能,以及向下通过HIDL(hardware interface definition language)(一种接口定义语言)方式调用到相机硬件抽象层。
[0068] 例如,在本申请的实施例中,电子设备的白名单例如可以存储在相机服务中,当白名单中的第一应用调用相机服务时,相机服务能够获取该第一应用选择的目标分辨率,以及获取白名单中第一应用的目标分辨率对应的定制分辨率。相机服务将第一应用选择的目标分辨率替换成上述的定制分辨率,并以该定制分辨率调用相机获取图像数据。
[0069] 可以理解,相机服务中的白名单还可以进行升级更新。例如,对没有存储在电子设备的白名单中的第一应用,电子设备可以通过静默升级的方式下载该第一应用的配置文件,该配置文件包括第一应用的包名以及第一应用的定制分辨率。以此对白名单进行更新。
[0070] WMS,用于管理窗口程序。WMS可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0071] 视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成。
[0072] 图形系统,是系统中的通用编程软件包,由图形I/O设备构成,基本功能是图元生成、属性设置等。
[0073] surface flinger也可称作界面合成,surface flinger的作用是接受WMS提供的图形显示数据,将它们合成,并输入到显示设备上显示。surface flinger可以使用开放图形库硬件合成器(hard ware composer,HWC)来合成界面(surface)。
[0074] 显示引擎服务,可以调用硬件抽象层中基于环境光传感器提供的硬件能力获取环境光的光照强度。
[0075] 资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0076] 通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
[0077] android Runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0078] 应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0079] 系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:开放图形库(open graphics library,OpenGL),或者针对嵌入式系统的开放图形库(open graphics library for embedded systems,OpenGL ES)),2D图形引擎(例如:skia图形库(skia graphics library,SGL))等。可以理解,Android应用程序可以调用SGL或OpenGLES接口来绘制渲染UI界面。
[0080] 表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
[0081] 媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
[0082] 三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0083] 2D图形引擎是2D绘图的绘图引擎。
[0084] 可以理解,android应用里面的图形绘制分为2D和3D两种,2D可以由Skia来实现的,skia也可以调用部分OpenGL ES的内容来实现简单的3D效果。
[0085] 硬件抽象层,即HAL层,是对硬件驱动的封装,为上层提供一个统一的硬件能力通用接口。如图5所示,硬件抽象层包括CPU HAL、GPUHAL、传感器HAL、显示HAL以及相机HAL等。例如,在本申请的实施例中相机HAL能够从相机服务中获取第一应用的定制分辨率,并启动相机以定制分辨率获取图像数据,例如图像帧、视频帧等数据。相机HAL将图像数据返回给相机服务,相机服务再将图像数据发送给第一应用,从而实现第一应用的相应功能。
[0086] 内核层是硬件和软件之间的层。内核层至少包含CPU驱动,GPU驱动,显示驱动,传感器驱动,相机驱动等。例如,在本申请的实施例中,第一应用在调用相机服务时,相机驱动能够把相机支持的所有采集参数上报给第一应用,第一应用在所有采集参数中选择自身所需的采集参数调用相机服务。
[0087] 下面结合上述手机100的系统软件架构,对本申请中的拍摄方法进行详细描述。
[0088] 图6a根据本身请的一些实施例,示出了一种应用程序调用相机服务获取图像数据的交互流程图。
[0089] 可以理解,在本申请的一些实施例中,第一应用例如可以是会议应用,相机驱动上报的采集参数例如可以包括分辨率列表。下面以用户点击会议应用进行视频会议的场景介绍本应用程序获取图像数据的实施例流程。
[0090] 如图6a所示,该流程包括:
[0091] 601,第一应用响应于用户操作,向相机服务发送获取分辨率列表的请求。
[0092] 示例性地,第一应用在调用相机服务时,会向相机服务发送获取分辨率列表的请求。
[0093] 例如,对于图4a所示的场景,第一应用为聊天应用,用户通过聊天应用扫描二维码图像时,聊天应用会向相机服务发送获取分辨率列表的请求。
[0094] 又例如,对于图4b所示的场景,第一应用是会议应用,用户需要进行视频会议时,可以启动会议应用视频通话的功能。会议应用响应用户启动视频通话的操作调用相机服务实现视频通话。会议应用调用相机服务时,会向相机服务发送获取分辨率列表的请求。
[0095] 602,相机服务从相机驱动获取分辨率列表并发送给第一应用。
[0096] 示例性地,相机服务接收到第一应用发送的获取分辨率列表的请求时,会从相机驱动获取相机支持的所有分辨率的分辨率列表,并将该分辨率列表发送给第一应用。例如,相机支持的分辨率的比例包括比2:1、4:3、5:4、16:9和16:9等。每个分辨率比例可以包括多个分辨率,例如,比例为2:1的分辨率包括640×320、720×360、1024×512。比例为16:9的分辨率包括1920×1080、1600×900、1280×720、960×540和640×360。
[0097] 603,第一应用选择目标分辨率。
[0098] 示例性地,第一应用获取相机服发送的分辨率列表后会选择自身所需的分辨率作为目标分辨率。
[0099] 例如,对于图4a所示的场景,第一应用为聊天应用,聊天应用开启扫码功能所需的分辨率为2:1,聊天应用会从分辨率列表中比例为2:1的分辨率中选择目标分辨率。例如,聊天应用从640×320、720×360、1024×512的分辨率中选择640×320的分辨率作为目标分辨率。
[0100] 又例如,对于图4b所示的场景,第一应用为会议应用,会议应用在启动视频通话的功能时,所需的分辨率为16:9。会议应用会从相机服务上报的分辨率列表中比例为16:9的分辨率中选择目标分辨率。例如,会议应用从1920×1080、1600×900、1280×720、960×540和640×360中选择一个分辨率。会议应用一般会选择最小的分辨率,例如选择640×360的分辨率作为目标分辨率调用相机服务。
[0101] 在另一些实施例中,第一应用还会选择其他的分辨率作为目标分辨率。例如,会议应用在16:9的分辨率列表中排除最小的分辨率,然后再选择最低的分辨率,例如选择960×540的分辨率作为目标分辨率。聊天应用在2:1的分辨率列表中排除一个最低的分辨率之后,在剩下的分辨率中选择一个分辨率,例如选择720×360的分辨率作为目标分辨率。第一应用还可以以其他方式选择目标分辨率。但是,第一应用总会有可能选择不到比较适合的分辨率作为目标分辨率,即第一应用没有一个明确的选择方法能够选择合适的分辨率作为目标分辨率。
[0102] 604,第一应用向相机服务发送调用参数。
[0103] 示例性地,第一应用调用相机服务时,会向相机服务发送调用参数,调用参数例如可以包括第一应用选择的目标分辨率、调用的相机标识,以及第一应用的包名。相机标识用于确定第一应用需要调用的相机,例如,手机100包括前置相机和后置相机。前置相机的相机标识为0,后置相机的相机标识为1。第一应用在调用相机服务时,向相机服务发送的相机标识为0,则表示会议应用需要调用前置相机。
[0104] 例如,对于图4a所示的场景,第一应用为聊天应用,聊天应用启动扫码功能调用相机服务时,向相机服务发送的调用参数包括聊天应用的应用包名,调用的相机标识为1(即为后置相机),目标分辨率为640×320。
[0105] 又例如,对于图4b所示的场景,第一应用为会议应用,会议应用启动视频通话功能调用相机服务时,向相机服务发送的调用参数包括会议应用的应用包名,调用的相机标识为0(即为前置相机),目标分辨率为640×360。
[0106] 605,相机服务判断第一应用是否在白名单中。
[0107] 可以理解,相机服务中存储有应用程序的白名单,白名单中包括应用程序的包名以及定制分辨率。例如,白名单中包括聊天应用的包名和聊天应用的定制分辨率以及会议应用的包名和会议应用的定制分辨率。相机服务可以根据第一应用发送的第一应用的包名确定第一应用是否在白名单中。定制分辨率可以根据分辨率比例确定,不同的分辨率比例有不同的定制分辨率。例如聊天应用的比例为2:1的定制分辨率可以是1024×512,比例为16:9的定制分辨率可以是1920×1080。
[0108] 可以理解,定制分辨率例如可以根据应用程序以及根据调试确定。例如,聊天应用在扫码时的所需的分辨率需要512对齐,则在配置文件中,聊天应用的比例为2:1的分辨率可以设置成1024×512。或者会议应用在的视频通话的分辨率在1920×1080能够满足用户对视频通话的清晰度的需求,则可以将会议应用在16:9的分辨率设置为1920×1080。
[0109] 若判断结果为是,例如相机服务通过第一应用的包名确定第一应用在白名单中,则执行607,相机服务将目标分辨率替换成定制分辨率。
[0110] 若判断结果为否,例如相机服务通过第一应用的包名确定第一应用不在白名单中,则执行606,基于目标分辨率启动相机。
[0111] 可以理解,手机100的白名单例如可以是开发人员通过调试第一应用确定第一应用的定制分辨率,并将该第一应用的包名和定制分辨率打包获得,白名单存储在相机服务中。并且,相机服务中存储的白名单能够进行更新。例如,在手机100中的第一应用由于没有储存在相机服务的白名单中,导致第一应用在调用相机服务时用选择的目标分辨率与相机不匹配,影响了第一应用实现相应的功能。则开发人员在调试该第一应用确定该第一应用的定制分辨率后,手机100可以获取第一应用的配置文件。第一应用的配置文件中包括该第一应用的包名以及第一应用的定制分辨率。以此更新相机服务中的白名单。
[0112] 示例性的,图6b根据本申请的实施例示出了存储配置文件的示意图。如图6b所示,参数云推服务器生成配置文件并发送给相机服务。相机服务以可拓展标记语言(extensible markup language,XML)保存配置文件从而更新白名单。在手机100开机并且启动相机服务后,相机服务即可通过新的白名单实现分辨率的替换。相机服务的白名单的更新具体在下文描述。
[0113] 应理解,在另一些实施例中,手机100也可以通过其他格式的文件或形式来存储配置文件,在此不做限定。
[0114] 示例性地,图6c根据本申请的实施例示出了一种配置文件。
[0115] 如图6c所示,相机服务通过XML存储配置文件的版本号version为6.1.22.105,文件名例如为“camera_config_cust.xml”,产品名product例如为“ROM”,配置文件中的应用包名pkg例如为huiyi(指示会议应用的包名),调用的前置相机的标识为0,前置相机的定制分辨率为1920×1080,后置相机的标识为1,后置相的定制分辨率也是1920×1080。其中“34 1920 1080 OUTPUT”表示在预览模式下(通过34指示)的定制分辨率,“35 1920 1080 OUTPUT”以及“33 1920 1080 OUTPUT”表示在拍摄时候(通过33或35指示)的定制分辨率。
[0116] 示例性地,上述版本号编码规则:aa.bb.yy.rrr。aa表示参数格式大版本号,对应一个系统的大版本。bb表示参数格式小版本号,参数文件格式发生兼容变化时修改,从10开始。yy表示发布年份,取后两位,比如2022年发布则yy为22。rrr表示年内发布序号,每年从100开始,每次发布加1。上述配置文件的存放路径为“产品配置仓/product_h/etc/camera”。应理解,在另一些实施例中,配置文件也可以存储在其他路径,在此不做限定。
[0117] 606,相机服务基于目标分辨率启动相机。
[0118] 示例性地,相机服务确定第一应用没有在白名单内,会直接通过第一应用选择的分辨率启动相机。例如,会议应用没有存储在相机服务的白名单中,相机服务会直接以会议应用选择的目标分辨率640×360调用相机获取图像数据。
[0119] 可以理解,相机服务将目标分辨率640×360发送给相机HAL,通过相机HAL启动相机以640×360的分辨率获取相应的图像数据。
[0120] 607,相机服务将目标分辨率替换成定制分辨率。
[0121] 示例性地,相机服务根据第一应用的包名判断第一应用在白名单内,则会将第一应用选择的目标分辨率替换为定制分辨率。
[0122] 例如,对于图4a所示的场景,第一应用为聊天应用,并且聊天应用在白名单中2:1的定制分辨率为1024×512,聊天应用向相机服务发送的目标分辨率为640×320。此时相机服务可以将聊天应用的目标分辨率640×360替换成对应的定制分辨率1024×512,从以定制分辨率获取图像数据。
[0123] 又例如,对于图4b所示的场景,第一应用为会议应用,会议应用在相机服务的白名单内,并且,白名单中会议应用16:9的定制分辨率为1920×1080,会议应用向相机服务发送的目标分辨率为640×360。此时相机服务可以将会议应用的目标分辨率640×360替换成定制分辨率1920×1080,从而以定制分辨率获取图像数据。
[0124] 608,相机服务基于定制分辨率启动相机。
[0125] 可以理解,相机服务将目标分辨率替换为定制分辨率后,将定制分辨率发送给相机HAL,并通过相机HAL启动相机获取图像数据。
[0126] 例如,对于图4a所示的场景,聊天应用调用相机服务时,相机服务将聊天应用的定制分辨率1024×512发送给相机HAL,相机HAL启动相机以1024×512的分辨率获取图像数据。
[0127] 又例如,对于图4b所示的场景,会议应用调用相机服务时,相机服务将会议应用的定制分辨率1920×1080发送给相机HAL,相机HAL启动相机以1920×1080的分辨率获取图像数据。
[0128] 609,相机服务从相机获取图像数据,并将图像数据发送给第一应用。
[0129] 示例性地,相机根据相机服务下发的分辨率获取图像数据后,相机服务从相机获取图像数据。相机服务再将图像数据发送给第一应用,从而实现第一应用的功能。
[0130] 例如,对于图4a所示的场景,相机服务从相机获取图像数据后将图像数据发送给聊天应用,聊天应用获取图像数据识别二维码。
[0131] 又例如,对于图4b所示的场景,相机服务从相机获取图像数据后将图像数据发送给会议应用,会议应用获取图像数据实现视频通话的功能。
[0132] 可以理解,通过本申请的实施例,在第一应用向相机服务下发选择的目标分辨率时,相机服务会根据应用程序的包名判断第一应用是否在白名单中,从而确定是否对第一应用下发的目标分辨率替换。因此,本申请的实施例可以在白名单中添加第一应用的包名以及对应的定制分辨率,从而使相机服务能够根据第一应用的定制分辨率启动相机获取图像数据,以使第一应用获取的图像数据能够满足自身需求以及满足用户的需求。
[0133] 对于图6a实施例中相机服务中的白名单可以通过参数云推服务器进行云推更新。
[0134] 例如,图7根据本申请的一些实施例示出了一种更新白名单的交互流程图。
[0135] 如图7所示,该流程包括:
[0136] 701,参数云推服务器打包配置文件。
[0137] 示例性地,对于没有存储在白名单中的第一应用,在调用相机服务时,如果有调整采集参数的需求,则可以通过云推的方式更新相机服务中的白名单。为了便于描述,以下以采集参数为分辨率为例进行介绍。例如,地图应用没有存储在电子设备的白名单中,开发人员在调试好地图应用的定制分辨率后,参数云推服务器可以通过打包工具将地图应用的应用包名以及定制分辨率打包成配置文件。
[0138] 可以理解,在另一些实施例中,配置文件可以包括至少一个第一应用的应用包名和定制分辨率。
[0139] 702,参数云推服务器向系统升级客户端发送广播信息。
[0140] 示例性地,参数云推服务器打包好配置文件后发送包含更新指令的广播信息,从而使电子设备接收广播信息更新白名单。
[0141] 703,系统升级客户端监听广播信息获取参数更新指令。示例性地,电子设备可以通过空中下载技术(over‑the‑air technology,OTA )实现移动化的新业务下载功能。以手机100为例,手机100中的系统升级客户端(OTA update client,OUC)能够监听参数云推服务器发送的广播信息,从而实现空中下载技术。可以理解,OUC例如是安装于手机100系统的应用程序层 (application)中,用于进行操作系统升级管理的应用。
[0142] 示例性地,手机100中的系统升级客户端监听到参数云推服务器发送的广播信息后,可以从广播信息获取参数更新指令。
[0143] 704,系统升级客户端下载配置文件。
[0144] 示例性地,系统升级客户端从广播信息中获取到参数更新的指令后,即可下载参数云推服务器打包的配置文件。
[0145] 可以理解,系统升级客户端下载参数文件的方式可以是静默升级,例如手机100在凌晨两点到四点之间在连接到互联网的情况下能够自动下载配置文件。或者手机100会弹出提示框提示用户升级系统,在用户点击授权的情况下下载配置文件。
[0146] 705,系统升级客户端向相机服务发送配置文件。
[0147] 示例性地,系统升级客户端下载配置文件后将配置文件发送给相机服务。可以理解,当系统升级客户端被运行时,可以通过应用编程接口访问应用程序框架层的相机服务,并将配置文件发送给相机服务更新相机服务。
[0148] 706,相机服务根据配置文件更新白名单。
[0149] 示例性地,相机服务获取到配置文件后即可对白名单进行更新。例如,系统升级客户端下载地图应用的配置文件到相机服务时,相机服务中的白名单就包括了题图应用的包名以及地图应用的定制分辨率,从而完成白名单的更新。
[0150] 通过参数云推服务器对电子设备的白名单进行更新,能够及时解决没有存储在电子设备白名单中的应用程序的分辨率与电子设备的相机不匹配的问题。
[0151] 图8根据本申请的实施例示出了一种手机100的结构示意图。
[0152] 手机100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
[0153] 可以理解的是,本发明实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0154] 处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural‑network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0155] 控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0156] 处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0157] 在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter‑integrated circuit,I2C)接口,集成电路内置音频(inter‑integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general‑purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
[0158] I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derailclock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。
[0159] UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。
[0160] MIPI接口可以被用于连接处理器110与显示屏,摄像头等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。
[0161] GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头,显示屏,无线通信模块160,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
[0162] USB接口130是符合USB标准规范的接口,具体可以是mini USB接口,micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为手机100充电,也可以用于手机100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
[0163] 可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机100的结构限定。在本申请另一些实施例中,手机100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
[0164] 充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过手机100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
[0165] 电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏,摄像头,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
[0166] 手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
[0167] 天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0168] 移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
[0169] 无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi‑Fi)网络),蓝牙(blue‑tooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
[0170] 外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0171] 内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行手机100的各种功能应用以及数据处理。
[0172] 压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。手机100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,手机100根据压力传感器180A检测所述触摸操作强度。手机100也可以根据压力传感器180A的检测信号计算触摸的位置。
[0173] 陀螺仪传感器180B可以用于确定手机100的运动姿态。
[0174] 气压传感器180C用于测量气压。在一些实施例中,手机100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
[0175] 磁传感器180D例如可以包括霍尔传感器。
[0176] 加速度传感器180E可检测手机100在各个方向上(一般为三轴)加速度的大小。当手机100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
[0177] 距离传感器180F,用于测量距离。手机100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,手机100可以利用距离传感器180F测距以实现快速对焦。
[0178] 接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机100通过发光二极管向外发射红外光。手机100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机
100附近有物体。当检测到不充分的反射光时,手机100可以确定手机100附近没有物体。手机100可以利用接近光传感器180G检测用户手持手机100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。
[0179] 环境光传感器180L用于感知环境光亮度。手机100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测手机100是否在口袋里,以防误触。
[0180] 指纹传感器180H用于采集指纹。手机100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
[0181] 温度传感器180J用于检测温度。
[0182] 触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于手机100的表面,与显示屏194所处的位置不同。
[0183] 骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。
[0184] SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。手机100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持nano SIM卡,micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。手机100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在手机100中,不能和手机100分离。
[0185] 在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
[0186] 需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
[0187] 需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0188] 虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。