CN117992933A - 权限管理方法、相关装置及系统 - Google Patents
权限管理方法、相关装置及系统 Download PDFInfo
- Publication number
- CN117992933A CN117992933A CN202211330328.0A CN202211330328A CN117992933A CN 117992933 A CN117992933 A CN 117992933A CN 202211330328 A CN202211330328 A CN 202211330328A CN 117992933 A CN117992933 A CN 117992933A
- Authority
- CN
- China
- Prior art keywords
- application
- electronic device
- user
- service
- authority
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 100
- 238000009434 installation Methods 0.000 claims description 78
- 238000004891 communication Methods 0.000 claims description 57
- 230000015654 memory Effects 0.000 claims description 44
- 230000004044 response Effects 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 20
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 230000001976 improved effect Effects 0.000 abstract description 2
- 238000013475 authorization Methods 0.000 description 38
- 230000006870 function Effects 0.000 description 38
- 239000010410 layer Substances 0.000 description 25
- 238000010295 mobile communication Methods 0.000 description 15
- 238000011161 development Methods 0.000 description 11
- 230000004424 eye movement Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000008921 facial expression Effects 0.000 description 4
- 238000011900 installation process Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004399 eye closure Effects 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 239000002994 raw material Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000036506 anxiety Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000005252 bulbus oculi Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 210000001508 eye Anatomy 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Telephone Function (AREA)
Abstract
本申请公开了权限管理方法、相关装置及系统。在该方法中,用户侧电子设备在运行应用时,如果接收到用户操作,则通过系统自动将执行该用户操作对应业务所需要的权限授予该应用,之后再基于该权限来执行该用户操作对应的业务。在用户通过用户操作触发业务时授权,可以避免应用在用户没有操作意图时获取到权限并利用该权限获取隐私数据,从而保护用户隐私,增强用户侧电子设备的安全性,提升用户体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及权限管理方法、相关装置及系统。
背景技术
电子设备上的权限授予方式分为系统授权和用户授权。系统授权指在应用(application,APP)安装时由系统授予权限,用户不参与;用户授权指应用在首次或每次使用某权限时,系统弹出对话框,用户明示同意的授权。
电子设备上提供的用户授权选项可包括“单次允许”、“始终允许”和“禁止”,或者,可包括“允许”和“不允许”。如果用户选择“始终允许”或“允许”,应用可以任意时刻使用该权限,后续不再需要用户确认;如果选择“单次允许”,则在本次应用开启的过程中应用拥有该权限,直到应用退出,系统回收该权限;如果选择“禁止”或“不允许”,应用无法使用该权限。
“允许”和“始终允许”选项授予了应用过大的权限使用自由。以相机权限为例,用户选择“允许”或“始终允许”后,只要打开了目标应用,即使用户没有主动开启摄像头,应用也可以随时、随地的开启摄像头,且应用的行为无法被用户察觉或者很难被用户察觉,造成隐私侵害。
“单次允许”选项也只能部分缓解用户隐私焦虑,应用在未退出前,都拥有该权限并可随意使用。以相机权限为例,用户选择“单次允许”后,设备退出了相机功能但未退出应用时,应用仍可以自行开启摄像头,隐私保护不完善。并且使用“单次允许”时,用户每次打开应用后都需要主动授权,用户操作较为繁琐。
发明内容
本申请提供了权限管理方法、相关装置及系统,可以避免应用在用户没有操作意图时获取到权限并利用该权限获取隐私数据,从而保护用户隐私,增强用户侧电子设备的安全性,提升用户体验。
第一方面,提供一种权限管理方法,应用于用户侧电子设备。该方法可包括:电子设备根据应用安装包安装第一应用,并在安装第一应用的过程中,从应用安装包中获取到多个控件中的每个控件和权限之间的对应关系,每个控件对应一个或多个权限;电子设备运行第一应用;电子设备显示第一应用的第一用户界面,第一用户界面中显示有多个控件;电子设备接收到作用于多个控件中的第一控件的第一操作,第一操作用于触发第一应用的第一业务;响应于第一操作,电子设备将第一控件对应的第一权限授予第一应用;电子设备使用第一权限执行第一业务。
实施第一方面提供的方法,电子设备可以从应用安装包中获取控件和权限的对应关系,并在运行第一应用的过程中根据用户的操作意图进行授权,即在用户通过用户操作触发业务时才进行授权,可以避免应用在用户没有操作意图时获取到权限并利用该权限获取用户的隐私数据。可见,该方法限制了应用能够获取并使用权限的条件,避免授予应用过大的权限使用自由,从而保护用户隐私,增强用户侧电子设备的安全性,提升了用户体验。
结合第一方面,在一些实施方式中,电子设备显示第一应用的第一用户界面之后,还可以接收到作用于多个控件中的第二控件的第二操作,第二操作用于触发第二应用的第二业务;响应于第二操作,电子设备将第二控件对应的第二权限授予第二应用;电子设备使用第二权限执行第二业务。
通过上一实施方式,电子设备在第一应用的同一个界面中提供多个控件,并且作用于该多个控件中的每个控件的用户操作都可以触发授权,可以让第一应用在使用多个权限时的条件都受到限制,避免授予应用过大的权限使用自由,从而保护用户隐私。
结合第一方面,在一些实施方式中,电子设备完成第一业务后,收回授予第一应用的第一权限。在完成第一业务后就收回第一权限,可以严格管控电子设备的权限,避免应用在完成业务后私自获取用户的隐私数据。
结合上一实施方式,在一些实施方式中,在以下任一种情况下,电子设备完成第一业务:电子设备获取到第一业务的业务数据,或者,电子设备接收到用于结束第一业务的用户操作。
结合第一方面,在一些实施方式中,电子设备持续使用第一权限执行第一业务。例如,电子设备将麦克风权限授予第一应用后,电子设备可以使用麦克风权限持续录音,直至用户输入操作停止录音。
结合第一方面,在一些实施方式中,第一控件对应的第一权限包括第一资源的启动权限和运行权限。电子设备将第一控件对应的第一权限授予第一应用,电子设备使用第一权限,执行第一业务,具体包括:电子设备将启动权限授予第一应用;电子设备使用启动权限,启动第一资源;电子设备将运行权限授予第一应用;电子设备使用运行权限,运行第一资源,以执行第一业务。
在上一实施方式中,将第一权限细分为启动权限和运行权限,并且电子设备在接收到第一操作后才授予启动权限,由于第一应用无法自行获取启动权限,这样可以严格管控相关资源的启用,避免了应用私自获取用户的隐私数据。
结合上一实施方式,在一些实施方式中,电子设备启动第一资源后,收回授予第一应用的启动权限;电子设备完成第一业务后,收回授予第一应用的运行权限。这样将第一权限细分为启动权限和运行权限,并且两者采用不同的生命周期,可以更加严格地管控电子设备中的资源,避免应用私自获取用户的隐私数据。
结合第一方面,在一些实施方式中,多个控件中的每个控件和权限之间的对应关系,由第一应用的开发方设置。
结合第一方面,在一些实施方式中,多个控件中每个控件的样式由第一应用的开发方设置。
结合第一方面,在一些实施方式中,多个控件中每个控件的样式符合规范;控件的样式包括以下任意一项或多项:位置、大小、形状、文字或透明度。
结合第一方面,在一些实施方式中,多个控件中每个控件对应的权限包括涉及用户隐私的权限。这样,可以严格管控设备中的敏感权限,只有在用户触发敏感业务时,应用才能获取到敏感业务所需的权限,在其他情况下应用不能获取敏感业务所需的权限,也就不能执行敏感业务。这种方式可以保证敏感数据的安全性。
例如,涉及用户隐私的权限可包括摄像头权限、麦克风权限、定位权限等。
结合第一方面,在一些实施方式中,电子设备使用第一权限执行第一业务时,第一应用在后台运行。例如,电子设备使用麦克风权限录音时,即使电子设备已经将第一应用切换至后台运行,该第一应用仍然可以持续持有麦克风权限并且根据该权限录音,直至用户输入操作停止录音。
结合第一方面,在一些实施方式中,电子设备还可以接收到第三操作,第三操作用于触发第一应用的第三业务;响应于第三操作,电子设备将第三权限授予第一应用,第三操作包括以下任意一项或多项:作用于物理按键上的用户操作、手势或语音指令;电子设备使用第三权限执行第三业务。
通过上一实施方式,电子设备也可以通过除了作用于控件的用户操作以外的其他操作,来触发授权。
结合第一方面,在一些实施方式中,电子设备还可以通过系统授权的方式来授权。例如,电子设备运行第一应用之前,响应于第一应用安装完成的操作,将第四权限授予第一应用。通过系统授权的方式授予第一应用的部分权限后,第一应用在运行过程中可以根据需要使用该部分权限,无需用户参与授权。
结合第一方面,在一些实施方式中,电子设备还可以通过用户授权的方式来授权。例如,电子设备运行第一应用后,接收到第四操作,第四操作用于指示将第五权限授予第一应用;电子设备将第五权限授予第一应用。用户授权的方式可以让用户充分感知授权行为。
第二方面,提供一种权限管理方法,应用于开发人员侧的设备。该方法可包括:设备接收输入的代码,代码指示了多个控件中的每个控件和权限之间的对应关系,具体指示了作用于多个控件中的第一控件的第一操作、第一业务和第一权限的对应关系,第一操作用于触发第一业务,第一权限为执行第一业务所需的权限;设备将代码打包为应用安装包。
实施第二方面的方法,开发者仅需要额外针对用户操作设置执行该操作所绑定业务需要的权限,就能完成应用的适配工作,从而让用户侧电子设备执行第一方面提供的方法,在运行应用时根据用户的操作意图进行授权。这样的方案对于开发来说简单容易,易于实施。
结合第二方面,在一些实施方式中,代码还指示了作用于多个控件中的第二控件的第二操作、第二业务和第二权限的对应关系,第二操作用于触发第二业务,第二权限为执行第二业务所需的权限。
结合第二方面,在一些实施方式中,代码还指示了多个控件中的每个控件的样式。
结合第二方面,在一些实施方式中,代码还指示了第三操作、第三业务和第三权限的对应关系,第三操作用于触发第三业务,第三权限为执行第三业务所需的权限;第三操作包括以下任意一项或多项:作用于物理按键上的用户操作、手势或语音指令。
结合第二方面,在一些实施方式中,设备将代码打包为应用安装包之前,可以确认多个控件中的每个控件符合规范。
结合上一实施方式,在一些实施方式中,多个控件中的每个控件的样式符合规范的情况下,多个控件中的每个控件符合规范;控件的样式包括以下任意一项或多项:位置、大小、形状、文字或透明度。
通过合规性检查,可以避免用户侧电子设备运行应用时,该应用诱导用户输入用户操作从而获取对应的权限,或者,应用在用户误触时获取到对应的权限,这样可以进一步保护用户及设备的隐私安全。
结合第二方面,在一些实施方式中,多个控件中的每个控件对应的权限包括涉及用户隐私的权限。这样,可以严格管控用户侧电子设备运行的应用使用敏感权限的条件,只有在用户触发敏感业务时,应用才能获取到敏感业务所需的权限,在其他情况下应用不能获取敏感业务所需的权限,也就不能执行敏感业务。这种方式可以保证敏感数据的安全性。
例如,涉及用户隐私的权限可包括摄像头权限、麦克风权限、定位权限等。
结合第二方面,在一些实施方式中,设备将应用安装包上传至平台,以供电子设备下载。在其他一些实施方式中,设备也可以将应用安装包上传至其他网络位置,这里不做限制。
第三方面,提供了一种电子设备,包括:存储器、一个或多个处理器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器调用计算机指令以使得电子设备执行如第一方面或第一方面任意一种实施方式的方法。
第四方面,提供了一种电子设备,包括:存储器、一个或多个处理器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器调用计算机指令以使得电子设备执行如第二方面或第二方面任意一种实施方式的方法。
第五方面,提供了通信系统,包括第一设备和第二设备,第一设备用于执行如第一方面或第一方面任意一种实施方式的方法,第二设备用于执行如第二方面或第二方面任意一种实施方式的方法。
结合第五方面,在一些实施方式中,通信系统还可包括平台,平台用于接收第二设备发送的应用安装包,还用于将该应用安装包发送给第一设备。
第六方面,提供了一种计算机可读存储介质,包括指令,当指令在电子设备上运行时,使得电子设备执行如第一方面或第一方面任意一种实施方式、或第二方面或第二方面任意一种实施方式的方法。
第七方面,提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面或第一方面任意一种实施方式、或第二方面或第二方面任意一种实施方式的方法。
第八方面,提供了一种芯片系统,所述芯片系统包括至少一个处理器,用于实现上述第一方面或第一方面任意一种实施方式、或第二方面或第二方面任意一种实施方式的方法。
实施本申请提供的技术方案,用户侧电子设备在运行应用时,如果接收到用户操作,则通过系统自动将执行该用户操作对应业务所需要的权限授予该应用,之后再基于该权限来执行该用户操作对应的业务。在用户通过用户操作触发业务时授权,可以避免应用在用户没有操作意图时获取到权限并利用该权限获取隐私数据,从而保护用户隐私,增强用户侧电子设备的安全性,提升用户体验。
附图说明
图1A为本申请实施例提供的通信系统10的结构示意图;
图1B为本申请实施例提供的设备100的硬件结构框图;
图1C为本申请实施例提供的电子设备300的硬件结构框图;
图1D为本申请实施例提供的电子设备300的软件架构;
图2A-图2B为本申请实施例提供的设备100开发应用时所展示的一组用户界面;
图3A-图3N为本申请实施例提供的电子设备300上所显示的一组用户界面;
图4为本申请实施例提供的权限管理方法的流程图;
图5为本申请实施例提供的电子设备300实施权限管理方法时的内部交互图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
本申请以下实施例提供了权限管理方法、相关装置及系统。在该方法中,应用开发者开发应用时,除了预先设定各个用户操作所绑定的业务,还可以针对该用户操作设置执行绑定业务所需的权限。用户侧电子设备下载并安装应用后,先解析出用户操作和权限之间的对应关系,之后在运行应用过程中,如果接收到用户操作,则通过系统自动将该用户操作对应的权限授予该应用,进而通过该应用执行该用户操作所绑定的业务。这里的系统指电子设备中安装的软件操作系统(operating system,OS)。
该方法根据用户的操作意图进行授权,即在用户通过用户操作触发业务时才进行授权。由于业务通常是由用户操作触发的,应用不能主动发起业务,可以避免应用在用户没有操作意图时获取到权限并利用该权限获取用户的隐私数据。可见,该方法限制了应用能够获取并使用权限的条件,避免授予应用过大的权限使用自由,从而保护用户隐私,增强用户侧电子设备的安全性,提升了用户体验。
上述方法由用户操作触发授权,相当于将触发业务的操作和授权操作合而为一,就无需用户单独通过点击弹窗中的选项等显式操作来触发授权,可以简化用户操作,给用户更好的应用使用体验。
此外,开发者仅需要额外针对用户操作设置执行该操作所绑定业务需要的权限,就能完成应用的适配工作,从而执行本申请提供的权限管理方法。这样的方案对于开发来说简单容易,易于实施。
本申请实施例所提及的用户操作可以有多种形式,可包括但不限于:作用于电子设备显示的界面元素上的操作、作用于物理按键上的操作、隔空悬浮手势、摇晃设备的手势、眼动操作、面部表情、语音指令等等。
在一些实施方式中,电子设备通过系统自动将用户操作对应的权限授予应用后,可以通过该应用执行该用户操作所绑定的业务,并且在执行完该业务后回收该权限。这样可以保证授予应用的权限仅用于用户想要执行的业务,避免应用获取到权限后,在用户没有同意的情况下利用该权限来窃取用户隐私。
在一些实施方式中,可以针对敏感业务如拍照、录音、录像、定位等,来执行本申请提供的权限管理方法。这样,只有在用户触发敏感业务时,应用才能获取到敏感业务所需的权限,在其他情况下应用不能获取敏感业务所需的权限,也就不能执行敏感业务。这种方式可以保证敏感数据的安全性。
在一些实施方式中,设备厂商可以要求应用开发者固定将某些权限以本申请的方式和用户操作进行绑定。这样,电子设备不再需要用户额外输入操作来显式授权,并且提供了更高的隐私保护能力。该方案可以提升设备厂商的竞争力。
下面,首先介绍本申请实施例提供的通信系统。
如图1A所示,本申请实施例提供了通信系统10。通信系统10包括:用于开发应用的设备100、用于上架应用的平台200、用于安装并运行应用的电子设备300。在本申请实施例中,设备100也可以被称为第一设备,电子设备300也可以被称为第二设备。
设备100是开发者用来开发应用的设备,例如可以是电脑。
设备100中安装有集成开发环境(integrated development environment,IDE)。IDE是提供程序开发环境的应用程序,集成了代码编写功能、分析功能、编译功能、调试功能等一体化的软件开发功能,并提供代码编辑器、编译器、调试器和图形用户界面等工具。开发者可以通过IDE提供的代码高亮,代码补全和提示,语法错误提示,函数追踪,断点调试等功能提高应用开发效率。这里对设备100中安装的IDE所提供的开发语言不做限制,例如可包括但不限于JS、eTS、c、c++、c#、Java、Python等。
设备100中安装的IDE可以由设备厂商提供。设备厂商可以包括电子设备的制造商、供应商、提供商或运营商等。制造商可以是指以自制或采购的零件及原料来加工制造电子设备的生产厂商。供应商可以是指提供该电子设备的整机、原料或零件的厂商。运营商可以是指负责该电子设备的经销的厂商。
IDE可提供编程接口(application programming interface,API),以供开发者开发的应用调用设备的各项功能。设备100安装的IDE所提供的API包括权限设置接口,用于开发者设置或添加用户操作对应的权限。
设备100用于通过安装的IDE开发应用。设备100开发应用的过程至少可包括:1,接收开发者输入的用于实现应用功能的代码。在此过程中,开发者可以通过设备100针对绑定了业务的用户操作添加对应的权限。2,检查添加了权限的用户操作是否符合规范。3,在检查通过后,将开发者编写的程序编译并打包为二进制的可执行文件,从而得到应用安装包。上述应用开发过程的详细实现,可参考后续方法实施例中的介绍,这里暂不展开说明。
平台200可用于集成不同开发者开发的各个应用。平台200可以实现为服务器,如物理服务器或云服务器等。平台200例如可以是为应用商店或者应用下载网站提供服务的服务器。平台200可以由设备厂商提供,也可以由第三方提供。设备100开发完应用并获取到应用安装包后,可以将应用安装包发送给平台200,以使得平台200将该应用安装包展示给用户,以供用户下载。不限于平台200,设备100还可以将应用安装包发送到其他网络位置以供用户下载。
电子设备300用于从平台200或其他网络位置处下载并安装应用安装包,在安装过程中中解析出用户操作和权限之间的对应关系。之后,电子设备300运行该应用,在接收到用户操作后,如果该用户操作存在对应的权限,则通过系统主动将该权限授予当前应用,并利用该权限来执行和该用户操作绑定的业务。在该业务完成后,电子设备300可以通过系统回收授予当前应用的权限。
电子设备300为智能终端设备,可以为各种类型,本申请实施例对其具体类型不作限制。例如,该电子设备300可以是手机,还可以包括平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、智慧屏、可穿戴式设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、车机、智能耳机,游戏机,还可以是物联网(internet of things,IOT)设备或智能家居设备如智能热水器、智能灯具、智能空调等等。不限于此,电子设备300还可以包括具有触敏表面或触控面板的膝上型计算机(laptop)、具有触敏表面或触控面板的台式计算机等非便携式终端设备等等。
通信系统10中的上述各个设备可以通过多种技术建立连接并通信,本申请实施例对此不做限定。例如,上述各设备可通过蓝牙(bluetooth,BT)、无线局域网(wirelesslocal area networks,WLAN)例如无线保真点对点(wireless fidelity point to point,Wi-Fi P2P)、蜂窝网络等通信。
通信系统10中的电子设备可以配置不同的软件操作系统(operating system,OS),也可以配置相同的OS,这里不做限定。例如,电子设备300配置的OS可包括但不限于 等等。
图1A所示的通信系统10仅为示例,具体实现中,通信系统10可包括功能更多或更少的设备,也可以组合或者拆分一些设备。
关于通信系统10中的各个设备所执行的操作的具体实现,可参考后续方法实施例的相关描述,这里不赘述。
参考图1B,图1B为本申请实施例提供的用于开发应用的设备100的硬件结构图。该设备100可以是图1A所示通信系统中的设备100。
如图1B所示,设备100可包括:一个或多个处理器201、存储器202、通信接口203、发射器205、接收器206、耦合器207、天线208和显示屏209。这些部件可通过总线204或者其他方式连接,图1B以通过总线连接为例。其中:
本申请实施例中,处理器201可用于读取和执行计算机可读指令。具体的,处理器201可用于调用存储于存储器202中的程序,例如本申请的实施例提供的权限管理方法在设备100的实现程序,并执行该程序包含的指令。
存储器202与处理器201耦合,用于存储各种软件程序和/或多组指令。具体的,存储器202可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。
存储器202可以存储操作系统。存储器202还可以存储网络通信程序,该网络通信程序可用于与平台200进行通信。存储器202还可存储有IDE安装包及运行数据。
通信接口203可用于设备100与其他通信设备,例如平台200等进行通信。具体的,通信接口203可以是3G通信接口、长期演进(LTE)(4G)通信接口、5G通信接口、WLAN通信接口、WAN通信接口等等。不限于无线通信接口,设备100还可以配置有线的通信接口203来支持有线通信,例如设备100与平台200之间的回程链接可以是有线通信连接。
发射器205和接收器206可看作一个无线调制解调器。发射器205可用于对处理器201输出的信号进行发射处理。接收器206可用于接收信号。在设备100中,发射器205和接收器206的数量均可以是一个或者多个。天线208可用于将传输线中的电磁能转换成自由空间中的电磁波,或者将自由空间中的电磁波转换成传输线中的电磁能。耦合器207可用于将移动通信号分成多路,分配给多个的接收器206。可理解的,网络设备的天线208可以实现为大规模天线阵列。
显示屏209可用于显示图像。显示屏209可用于提供IDE的图形用户界面,以供开发者输入用于实现应用功能的代码,并且针对绑定了业务的用户操作添加对应的权限,还用于输出处理器201检查代码是否符合规范的结果。
处理器201可用于编译开发者边写的代码,以及,检查添加了权限的用户操作是否符合规范,还用于将检查通过后的代码打包为二进制的可执行文件,即安装包。
发射器205可用于将处理器201生成的安装包发送给平台200,以供平台200将安装包展示给用户,从而让用户下载。
图1B所示的设备100仅仅是本申请实施例的一种实现方式,实际应用中,设备100还可以包括更多或更少的部件,这里不作限制。设备100的具体作用可参考后续方法实施例的详细描述,这里暂不展开说明。
参考图1C,图1C为本申请实施例提供的电子设备300的硬件结构图。该电子设备300可以是图1A所示通信系统中的电子设备300。
如图1C所示,电子设备300可以包括处理器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等。
本申请实施例示意的结构并不构成对电子设备300的具体限定。在本申请另一些实施例中,电子设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据,例如本申请实施例提供的权限管理方法在电子设备300侧的实现程序。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
电子设备300的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备300中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备300上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备300上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号解调以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备300的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备300可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备300通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)。显示面板还可以采用有机发光二极管(organiclight-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flexlight-emitting diode,FLED),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,QLED)等制造。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
显示屏194可用于显示后续实施例提供的在电子设备300上实现的用户界面。
电子设备300可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。
摄像头193用于捕获静态图像或视频。在一些实施例中,电子设备300可以包括1个或N个摄像头193,N为大于1的正整数。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
电子设备300可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备300可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备300接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
在本申请实施例中,移动通信模块150或无线通信模块160用于从平台200或其他网络位置处下载应用安装包。下载的应用安装包可存储于内部存储器121中。
处理器201用于读取应用安装包,运行应用安装包,从而完成应用的安装。在此过程中,处理器110可以分析得到开发者预先设置的用户操作和权限之间的对应关系。之后,处理器110用于运行安装好的应用,响应电子设备300接收到的用户操作,将该用户操作存在的权限授予该应用,并利用该权限来执行和该用户操作绑定的业务。处理器110还用于在业务完成后,回收授予当前应用的权限。
电子设备300的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的移动操作系统为例,示例性说明电子设备300的软件结构。
图1D是本申请实施例的电子设备300的软件结构框图。该电子设备300可以是图1A所示通信系统10中的电子设备300。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将移动操作系统分为四层,从上至下分别为应用程序层,程序框架层/核心服务层,系统库和运行时,以及内核层。系统库可包括系统数据库,用于存储应用的信息,如本申请实施例中用户操作、业务和权限之间的对应关系。
应用程序层可以包括一系列应用程序包。
如图1D所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序,还可以包括开发者通过设备100开发的应用。本申请后续实施例将开发者通过设备100开发的,针对用户操作设置了对应权限的应用,称为第一应用。
程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。程序框架层包括一些预先定义的函数。
如图1D所示,程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器,输入模块,UI框架,权限管理模块,业务模块,应用安装模块等。
其中,输入模块用于接收底层上报的输入事件,UI框架用于根据输入事件回调应用的业务实现。权限管理模块用于管理(包括授予、收回等)电子设备300中的各项权限,其具体作用可参考后续方法实施例的相关描述。业务模块可用于启动并运行相关业务。应用安装模块用于根据应用安装包安装应用。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
运行时可以指程序运行时所需的一切代码库、框架等。例如,对于C语言来说,运行时包括一系列C程序运行所需的函数库。对于Java语言来说,除了核心库之外,运行时还包括Java程序运行所需的虚拟机等。上述核心库可包括Java语言需要调用的功能函数。
数据库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
图1D所示的电子设备300仅仅是本申请实施例的一种实现方式,实际应用中,电子设备300的软件架构还可以包括更多或更少的模块,也可以组合部分模块,各模块所在的层级也可以有所变化,这里不作限制。
下面结合捕获拍照场景,示例性说明电子设备软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
下面介绍本申请实施例提供的用户界面。
图2A-图2B为本申请实施例提供的设备100开发应用时所展示的一组用户界面。
图2A为设备100中的IDE提供的一个示例性用户界面。如图2A所示,开发者可以在该用户界面中输入代码,然后触发IDE编译代码。图2A中右侧区域示出了编译结果,图中的文本“Buildingfailed.view1detailsinpreviewerLog.”用于提示开发者当前编译出错。图2A中下方区域展示了编译的进程。
图2B为设备100中的IDE提供的而另一个示例性用户界面。与图2A不同,图2B中下方区域展示了编译出错的详细原因和解决方案。
图3A-图3N为本申请实施例提供的电子设备300上所显示的一组用户界面。
图3A示例性示出了电子设备300上的用于展示已安装应用程序的示例性用户界面31。
如图3A所示,用户界面31显示有:状态栏、日历和时间指示符、天气指示符、页面指示符、具有常用应用程序图标的托盘、其他应用程序图标。其中:
状态栏可包括:移动通信信号(又可称为蜂窝信号)的一个或多个信号强度指示符、蓝牙指示符、Wi-Fi信号的一个或多个信号强度指示符,电池状态指示符、时间指示符等等。
日历和时间指示符用于指示日历和当前时间。天气指示符用于指示天气。
页面指示符可用于指示用户当前浏览的是哪一个页面中的应用程序图标。在本申请实施例,应用程序图标可分布在多个页面,用户可以左右滑动,来浏览不同页面中的应用程序图标。
具有常用应用程序图标的托盘可展示:电话图标、短信图标、相机图标、通讯录图标等等。
其他应用程序图标例如可包括视频应用的图标301、线上会议应用的图标302、文件浏览器的图标、即时通讯应用(如畅连)的图标303、游戏应用的图标304、地图应用的图标305、图库应用的图标、设置应用的图标等等。
视频应用是安装于电子设备中,用于提供视频播放功能的应用程序。
线上会议应用是安装于电子设备中,用于提供线上远程会议功能的应用程序。
即时通讯应用是安装于电子设备中,用于提供即时通讯,如收发信息、视频通话、语音通话等功能的通讯类应用程序。即时通讯应用的一个示例为图3A所示的畅连应用,畅连应用为华为公司开发的一款即时通讯应用。
地图应用是安装于电子设备中,用于提供定位、导航等功能的应用程序。
上述提及的各个应用程序,以及,电子设备300中安装的其他应用程序,可以是电子设备300提供的系统应用,也可以是第三方应用。
电子设备300中安装的应用程序中的部分或全部,可以是开发者通过图1A所示通信系统中的设备100开发后上架至平台200,再由电子设备300从平台200处下载得到的。例如,畅连应用可以是开发者通过设备100开发后上架至平台200,之后由电子设备300从平台200处下载得到的。
如图3A所示,电子设备300可以检测到作用于即时通讯应用的图标303上的用户操作(例如点击操作、触摸操作等等),并响应于该用户操作,启动该即时通讯应用,并显示该即时通讯应用提供的如图3B所示的用户界面32。用户界面32用于展示登录到电子设备300的用户在该即时通讯应用中的一个或多个联系人选项。
如图3B所示,用户界面32中显示有:状态栏、标题栏、控件306、搜索框、一个或多个最近联系人选项、菜单栏。
状态栏可参考图3A中的状态栏。
标题栏可包括用于指示当前页面的当前页面指示符,例如文本信息“畅连”用于指示当前页面为即时通讯应用“畅连”提供的一个用户界面。
搜索框可用于接收触摸操作、点击操作等,响应于该操作,电子设备300可显示文本输入框,使得用户在该文本输入框中输入想要搜索的联系人选项、聊天记录(例如文本信息、图片、链接或其他文件等)。
最近联系人选项中可包括用户最近在即时通讯应用中通信过的一个或多个联系人对应的联系人选项。联系人选项可包括:公众号选项、用户选项以及群组选项等等。例如,最近联系人选项中包括联系人“Kate”的选项307a、群组“工作群”的选项307b。联系人选项的实现形式可包括但不限于:图标或文本。该图标或文本可以是联系人在即时通讯应用中的身份标识,例如联系人在即时通讯应用中的账号、头像、昵称、名字等等。
用户界面32底部的菜单栏可包括多个控件,例如图3B所示的“畅连”、“通讯录”、“发现”和“我”。用户界面32中除菜单栏和状态栏以外的区域所显示的内容和菜单栏当前被选中的控件相关。图3B中菜单栏当前被选中的控件为“畅连”。
控件306可用于接收用户操作(例如点击操作、触摸操作等),电子设备300可响应于该用户操作,在用户界面32中显示窗口308。
后续图3C-图3D示例性示出了电子设备300管理摄像头权限的一种场景。
如图3C所示,窗口308中显示有控件308a。控件308a可接收用户操作,电子设备300接收到作用于该控件308a的用户操作后,可以先授予当前的即时通讯应用(例如畅连)使用摄像头的权限,然后基于该权限启动摄像头(如后置摄像头)以扫描二维码、条形码或其他图形类信息,并展示如图3D所示的用户界面33。
参考图3D,图3D示例性示出了电子设备300响应于在图3C所示的控件308a上检测到的用户操作(例如点击操作、触摸操作等),启动摄像头后所显示的用户界面33。该用户界面33中显示有:返回键309和摄像头拍摄到的图像。返回键309可接收用户操作,电子设备300可响应于该用户操作返回上一级界面(即图3B或图3C所示的用户界面32)。
在本申请实施例中,电子设备300在检测到作用于返回键309的用户操作后,可以回收授予给即时通讯应用(例如畅连)的摄像头使用权限。这样,只有在用户存在使用摄像头的需求时,才将摄像头的使用权限授予即时通讯应用(例如畅连),可以避免即时通讯应用(例如畅连)滥用摄像头的使用权限。
上述图3C-图3D示例中提及的摄像头权限具体可以为后置摄像头的使用权限。
图3E所示的用户界面32和图3B相同,可参考前文关于图3B的相关描述。
如图3E所示,电子设备300可以接收到作用于联系人“Kate”的选项307a上的用户操作(例如点击操作、触摸操作等),并响应于该用户操作,显示图3F所示的用户界面34。
参考图3F,该用户界面34用于展示电子设备300侧的用户和联系人Kate之间的通信记录。用户界面34中显示有菜单310。
菜单310可包括语音控件310a、文本输入框310b和更多控件310c。语音控件310a可用于接收用户操作,电子设备300可响应该用户操作启动麦克风,并采集语音。文本输入框310b可用于接收用户操作,电子设备300可响应于该用户操作而显示虚拟键盘,以供用户输入文本。更多控件310c可用于接收用户操作,电子设备300可响应于该用户操作而显示更多的功能服务选项,如图3G所示。
参考图3G,电子设备300接收到作用于图3F中的更多控件310c上的用户操作后,可以将菜单310的显示位置上移,并在菜单310下方显示更多的功能服务选项。图3G中显示的功能服务选项例如可包括:用于分享图片的选项311a、用于拍摄图片或视频的选项311b、用于视频通话的选项311c、用于共享位置的选项311d、用于输入语音的选项311e、用于打开收藏内容的选项等等。
下面以图3G提供的各个功能选项为例,介绍电子设备300的几个权限管理场景。
图3H示例性示出了电子设备300管理图库权限的一种场景。
图3H可以是电子设备300接收到作用于图3G中用于分享图片的选项311a的用户操作(例如点击操作、触摸操作等)后所显示的用户界面35。
电子设备300接收到作用于选项311a的用户操作后,可以先授予当前的即时通讯应用(例如畅连)查看图库的权限,然后基于该权限获取图库中存储的图片、动图及视频,并展示如图3H所示的用户界面35。
参考图3H,该用户界面35中显示有:取消键312、发送控件313、图片区域314。
取消键312可用于接收用户操作,电子设备300可响应于该用户操作,显示如图3F或图3G所示的用户界面34。
图片区域314中可显示有电子设备300从图库中读取的一个或多个图片、动图或视频的缩略图或名称。用户可以在图片区域314中输入用户操作以选择将要分享的图片。该用户操作可以是作用于图片的缩略图上的点击操作、触摸操作、长按操作等等。例如,用户可以点击图片区域中的图片缩略图,将对应的图片选择为将要分享至联系人“Kate”的图片。
发送控件313可用于接收用户操作,电子设备300可响应于该用户操作,将用户在图片区域314中选定的图片分享至联系人“Kate”。
在本申请一些实施方式中,电子设备300在检测到作用于取消键312的用户操作后,可以回收授予给即时通讯应用(例如畅连)的图库权限。在另一些实施方式中,电子设备300在响应于在发送控件313上的用户操作将用户在图片区域314选定的图片分享后,也可以回收授予给即时通讯应用(例如畅连)的图库权限。这样,只有在用户存在图库的需求时,才将图库的查看权限授予即时通讯应用(例如畅连),可以避免即时通讯应用(例如畅连)滥用图库权限。
图3I示例性示出了电子设备300管理摄像头权限的一种场景。
图3I可以是电子设备300接收到作用于图3G中用于拍摄图片或视频的选项311b的用户操作(例如点击操作、触摸操作等)后所显示的用户界面36。
电子设备300接收到作用于选项311b的用户操作后,可以先授予当前的即时通讯应用(例如畅连)使用摄像头的权限,然后基于该权限启动摄像头(如后置摄像头)以拍摄图像,并展示如图3I所示的用户界面36。
参考图3I,图3I示例性示出了电子设备300响应于在图3G所示的选项311b上检测到的用户操作(例如点击操作、触摸操作等),启动摄像头(如后置摄像头)后所显示的用户界面36。该用户界面36中显示有:用于切换摄像头的控件315、摄像头拍摄到的图像316、返回键317、拍摄控件318。
电子设备300接收到作用于控件315的用户操作后,可以先收回授予给即时通讯应用(例如畅连)的后置摄像头使用权限,并授予即时通讯应用(例如畅连)前置摄像头使用权限,然后基于该权限将后置摄像头切换为前置摄像头。
拍摄控件318可用于接收用户操作,电子设备300可响应于在拍摄控件318上的用户操作拍照。电子设备300接收到作用于拍摄控件318上的用户操作(如长按操作)后,可以先授予即时通讯应用(例如畅连)麦克风的使用权限,然后基于该权限和之前授予的摄像头权限来录像。
返回键317可接收用户操作,电子设备300可响应于该用户操作返回上一级界面(即图3F或图3G所示的用户界面34),并且回收授予给即时通讯应用(例如畅连)的摄像头使用权限。
通过上述方式来管控摄像头权限,可以避免即时通讯应用(例如畅连)滥用摄像头权限,避免泄露用户隐私。
图3J示例性示出了电子设备300管理摄像头权限和麦克风权限的一种场景。
图3J可以是电子设备300接收到作用于图3G中用于视频通话的选项311c的用户操作(例如点击操作、触摸操作等)后所显示的用户界面37。
电子设备300接收到作用于选项311c的用户操作后,可以先授予当前的即时通讯应用(例如畅连)使用摄像头的权限和使用麦克风的权限,然后基于该权限启动摄像头(如前置摄像头)和麦克风以录制用户所处的场景,并展示如图3I所示的用户界面37。
参考图3J,图3J示例性示出了电子设备300响应于在图3G所示的选项311c上检测到的用户操作(例如点击操作、触摸操作等),启动摄像头(如前置摄像头)和麦克风后所显示的用户界面37。该用户界面37中显示有:小窗控件319、电子设备300采集到的本端用户图像320、电子设备300接收到的和本端用户通话的对端用户图像321、挂断控件322、用于将视频通话切换为语音通话的控件323、用于切换摄像头的控件324。
小窗控件319用于接收用户操作,电子设备300可响应于该用户操作,缩小本端用户图像和对端用户图像,留出空间来显示其他信息。
挂断控件322用于接收用户操作,电子设备300可响应于该用户操作返回上一级界面(即图3F或图3G所示的用户界面34),并且回收授予给即时通讯应用(例如畅连)的摄像头使用权限和麦克风使用权限。
控件323用于接收用户操作,电子设备300可响应于该用户操作,先回收授予给即时通讯应用(例如畅连)的摄像头使用权限,然后关闭启用的摄像头,持续使用麦克风来录音。
控件324用于接收用户操作,电子设备300接收到作用于控件324的用户操作后,可以先收回授予给即时通讯应用(例如畅连)的前置摄像头使用权限,并授予即时通讯应用(例如畅连)后置摄像头使用权限,然后基于该权限将前置摄像头切换为后置摄像头。
图3K-图3L示例性示出了电子设备300管理定位权限的一种场景。
参考图3K,电子设备300在接收到作用于图3G中用于共享位置的选项311d的用户操作(例如点击操作、触摸操作等)后,可以在用户界面34上显示用于发送位置的控件325和用于共享实时位置的控件326。
电子设备300接收到作用于控件325或控件326的用户操作后,都可以先授予当前的即时通讯应用(例如畅连)使用定位功能的权限,然后基于该权限启动无线通信模块160进行定位。
图3L示例性示出了电子设备300接收到作用于图3K中控件325上的用户操作后所显示的用户界面38。用户界面38中显示有:取消控件327、发送控件328、电子设备300当前所在位置周围的地图、在地图中电子设备300所处的位置,以及,该位置附近的标志性地点。
取消控件327可用于接收用户操作,电子设备300可响应于该用户操作,返回显示如图3K所示的用户界面34。
发送控件328可用于接收用户操作,电子设备300可响应于该用户操作,将电子设备300定位的当前地点或者将用户选定的地点分享至联系人“Kate”。
在本申请一些实施方式中,电子设备300在检测到作用于取消控件327或发送控件328上的用户操作后,可以回收授予给即时通讯应用(例如畅连)的定位权限。这样,只有在用户存在定位需求时,才将定位权限授予即时通讯应用(例如畅连),可以避免即时通讯应用(例如畅连)滥用定位权限,避免泄露用户所在位置。
图3M-图3N示例性示出了电子设备300管理麦克风权限的一种场景。
参考图3M,电子设备300在接收到作用于图3G中用于输入语音的选项311e的用户操作(例如点击操作、触摸操作等)后,可以在用户界面34上显示用于开始录入语音的控件330。
电子设备300接收到作用于控件330的用户操作后,可以先授予当前的即时通讯应用(例如畅连)使用麦克风的权限,然后基于该权限启动麦克风进行录音。
图3N示例性示出了电子设备300接收到作用于图3M中控件330上的用户操作(如按压操作)后所显示的用户界面39。用户界面39中显示有:用于提示正在录音的标识331,以及,提示如何结束录音的文字332。
用户持续触摸控件330的过程中,电子设备300将持续使用麦克风录音,当用户结束触摸控件330后,电子设备300可以将在此期间麦克风采集到的音频发送给联系人“Kate”,并且回收授予给即时通讯应用(例如畅连)的麦克风权限。这样,只有在用户存在使用麦克风的需求时,才将麦克风权限授予即时通讯应用(例如畅连),可以避免即时通讯应用(例如畅连)滥用麦克风权限,避免泄露用户隐私。
不限于上述图3C-图3D、图3I、图3J示出的几个示例中,电子设备300管理摄像头权限时细分至每一个摄像头的权限,在其他一些实施方式中,电子设备300还可将所有摄像头的权限打包在一起,进行较粗粒度的权限管理。
例如,参考图3C-图3D,电子设备300接收到作用于图3C中控件308a的用户操作后,可以将相机的使用权限(包括前置摄像头、后置摄像头、广角摄像头等的使用权限)授予即时通讯应用(如畅连)。电子设备300在检测到作用于返回键309的用户操作后,再收回授予该即时通讯应用(如畅连)的相机权限。
再例如,参考图3G及图3I,电子设备300接收到作用于图3G中选项311b的用户操作后,可以将相机的使用权限授予即时通讯应用(如畅连)。之后,电子设备300检测到作用于图3I中用于切换摄像头的控件315的用户操作后,无需变更授予即时通讯应用(如畅连)的相机权限。在检测到作用于图3I中的返回键317的用户操作后,再收回授予该即时通讯应用(如畅连)的相机权限。
再例如,参考图3G及图3J,电子设备300接收到作用于图3G中选项311c的用户操作后,可以将相机的使用权限授予即时通讯应用(如畅连)。之后,电子设备300检测到作用于图3J中用于切换摄像头的控件324的用户操作后,无需变更授予即时通讯应用(如畅连)的相机权限。在检测到作用于图3J中的挂断控件322的用户操作后,再收回授予该即时通讯应用(如畅连)的相机权限。
上述图3A-图3N所示的UI实施例仅为示例,不构成对本申请提供的权限管理方法的限定。
上述各UI可以是电子设备300首次启动即时通讯应用,以及,首次启用即使通讯应用中的各个功能时所呈现的用户界面。可见,在电子设备300首次启用上述功能时,电子设备300也可以无需通过弹窗来获取用户的显式授权,在用户有需求使用上述功能时,电子设备300就能自动授权,给用户无感知的优良使用体验。
当然,上述各UI可以是电子设备300非首次启动即时通讯应用,以及,非首次启用即使通讯应用中的各个功能时所呈现的用户界面。
不限于上述图3A-图3N所示的UI实施例中的摄像头权限、麦克风权限、图库权限、定位权限,其他权限也可以通过本申请实施例提供的权限管理方法来授予或回收,具体可参考后续方法实施例的详细描述。
不限于上述图3A-图3N所示的UI实施例中的即时通讯应用,在其他一些实施方式中,其他应用中的权限也可以通过本申请实施例提供的权限管理方法来授予或回收。
例如,电子设备300在运行图3A所示的图标301对应的视频应用过程中,可以根据播放视频的操作,授予视频应用使用扬声器的权限。
再例如,电子设备300在运行图3A所示的图标302对应的线上会议应用过程中,可以根据开启会议的操作,授予线上会议应用使用麦克风和扬声器的权限。
再例如,电子设备300在运行图3A所示的图标304对应的游戏应用过程中,可以根据和队友语音的操作,授予游戏应用使用麦克风的权限。
再例如,电子设备300在运行图3A所示的图标305对应的地图应用过程中,可以根据导航的操作,授予地图应用使用定位功能的权限。
基于图1A所示的通信系统、图1B所示的设备100、图1C-图1D所示的电子设备300,以及前文提供的用户界面,下面详细介绍本申请实施例提供的权限管理方法。
参考图4,图4示例性示出了本申请实施例提供的权限管理方法的流程。
如图4所示,该方法可包括如下步骤:
阶段一:应用开发过程。
S101,设备100接收开发者输入的代码,该代码声明了:用户操作绑定的业务以及执行该业务所需的权限。
设备100可以运行IDE,提供用户界面给开发者,以供开发者使用IDE支持的开发语言来编写源代码。设备100中IDE提供的开发语言可包括以下任意一种或多种:JS、eTS、c、c++、c#、Java或Python。IDE可以提供多个API,以供开发者调用来编写代码。开发者输入的代码是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系,是人类可理解的一种表达方式。
在本申请实施例中,开发者输入的代码明确或者声明了以下信息:一个或多个用户操作分别绑定的业务,以及,执行该用户操作所绑定业务所需的权限。相当于声明用户操作和业务的绑定关系,以及,执行该业务所需要的权限。基于该声明方式,电子设备运行上述代码得到的应用的过程中,如果接收到声明的用户操作,则可以自动授予该应用和该用户操作对应的权限。在其他的一些实施方式中,开发者输入的代码还可以声明更多的信息,例如开发的应用中各个页面所显示的内容、触发用户操作所在的页面等。
下面展开介绍。
1.声明用户操作和业务的绑定关系
用户操作和业务的绑定关系,可以由开发者自定义。开发者在代码中声明用户操作和业务的绑定关系时,可以通过代码声明该用户操作的信息,以及,绑定的业务。
开发者声明的用户操作信息可包括:该用户操作的类型。本申请实施例提及的用户操作的类型可包括但不限于作用于显示的界面元素上的操作、作用于物理按键上的操作、隔空悬浮手势、摇晃设备的手势、眼动操作、面部表情、语音指令等等。
针对不同的操作类型,开发者还可以进一步声明该用户操作的详细信息。
例如,针对作用于界面元素的操作,可以进一步声明以下任一项或多项:该界面元素所处的页面(如页面标识)、在页面中的位置(如在页面中的相对位置)、界面元素的类型(如控件、按钮、图标、对话框、选项卡、文本框、文本等)、界面元素的形态(如背景颜色、显示的文本、形状等)、操作的实现形式(如单击操作、双击操作、长按操作、触摸操作、指关节叩击操作、滑动操作等)。
又例如,针对作用于物理按键上的操作,可以进一步声明以下任一项或多项:物理按键(如音量上键、音量下键、电源键等)、操作的实现形式(如单击操作、双击操作、长按操作等)。
又例如,针对隔空悬浮手势,可以进一步声明该手势的实现形式(如挥动手掌的手势、握拳手势、OK手势等)。
又例如,针对摇晃设备的手势,可以进一步声明该摇晃手势的实现形式(如摇晃时长、摇晃次数、摇晃方向等)。
又例如,针对眼动操作,可以进一步声明该眼动操作的实现形式(如左眼或右眼、眼球运动的方向等)。
又例如,针对面部表情,可以进一步声明该面部表情的实现形式(如张嘴、眨眼、眨眼的次数、闭眼、闭眼的时长等)。
又例如,针对语音指令,可以进一步声明该语音指令的详细内容。
在本申请实施例中,开发应用时涉及的用户操作的类型、用户操作的详细信息、一个应用中可以触发的用户操作的数量、一个应用提供的各个用户界面所能触发的用户操作的数量,都可以由开发者自定义。例如,如果用户操作类型为作用于控件的操作,则该控件的样式可以由开发者自定义。
开发者声明的业务可包括但不限于:打开摄像头、打开麦克风、定位、存储图片、下载视频、播放视频、播放音乐、上载图片、获取在线资讯、读取存储的图片、上滑当前页面、下滑当前页面、跳转页面、视频通话、语音通话等等。其中,打开摄像头的业务可进一步细分为打开前置摄像头、打开后置摄像头、打开广角摄像头或其他类型的业务。
用户操作所绑定的业务,可以由开发者自定义。开发者可以根据应用面向的用户的习惯或实际需要来决定。例如,开发者开发即时通讯应用(如畅连)时,可以将作用于图3C中的控件308a的用户操作和打开摄像头的业务绑定,将作用于图3G中的选项311a的用户操作和读取图片的业务绑定,将作用于图3G中的选项311c的用户操作和视频通话业务绑定,将作用于图3K中的控件326的用户操作和定位业务绑定,将作用于图3M中的控件330的用户操作和打开麦克风的业务绑定,等等。
一个用户操作可以绑定一个业务,也可以绑定多个业务。例如,作用于图3I中控件318的长按操作,可以绑定开启摄像头的业务,还可以绑定开启麦克风的业务。
多个用户操作可以绑定相同的一个业务。例如,作用于图3F中语音控件310a的用户操作,和,作用于图3M中的控件330的用户操作,均可以绑定打开麦克风的业务。
2.声明执行用户操作绑定的业务所需的权限
权限具体指对设备中的各类资源(如硬件资源、软件资源、外设资源等)的使用权限。
执行业务时所需的权限,由该业务本身决定。例如,应用需要获取到摄像头权限,才能打开摄像头;应用需要获取到麦克风权限,才能打开麦克风;应用需要获取到定位权限,才能开始定位;应用需要获取到图库的访问权限,才能访问图库;应用需要获取到网络权限,才能下载视频、获取在线咨询、开启语音通话、开启视频通话等。
本申请实施例对一个用户操作绑定的权限的范围或者粒度不做限定。例如,针对作用于图3C中控件308a的用户操作,开发者为其绑定相机权限(包括前置摄像头、后置摄像头、广角摄像头等的使用权限),也可以仅为其绑定前置摄像头的使用权限,而不绑定其他摄像头的使用权限。
在本申请实施例中,设备100中的IDE可以提供权限设置接口,以供开发者声明执行用户操作绑定的业务所需的权限,从而为该用户操作设置或添加对应的权限。
下面提供两个示例来解释S101中开发者输入的代码所声明的信息。
示例1:
示例1为开发者使用eTS语言编写的一部分代码,其声明了一个用户操作,该用户操作为作用于按钮的点击操作,该按钮上有文本“打开相机”。该按钮的位置由上述代码中设置的width和height,margin等参数决定的,比如width('40%')表示按钮宽度是屏幕宽度的40%,height('5%')表示按钮高度是屏幕高度的5%,默认居中,(margin top:20),表示在中线向下偏移20个单位。该用户操作绑定的业务为打开摄像头的业务。该打开摄像头业务所需的权限为摄像头权限。
示例2:
/>
示例2为开发者使用JS语言编写的一部分代码,其声明了一个用户操作,该用户操作为作用于按钮的点击操作,该按钮上有文本“打开相机”。该用户操作对应的权限为摄像头权限。该用户操作绑定的业务可以在不同于示例2的另一个文件中通过onClick函数中声明,因而未在示例2的代码中体现。
在代码中声明用户操作绑定的业务以及执行该业务所需的权限,相当于声明了用户操作和权限之间的对应关系。针对作用于界面元素的用户操作,代码可声明该界面元素(如控件、选项卡、按钮、图标、对话框等)和权限之间的对应关系。
在一个示例中,开发者可以在开发时声明多个控件中的每个控件和权限之间的对应关系,其中的每个控件都对应一个或多个权限。该多个控件可以是应用中部署在同一页面的控件,也可以是部署在不同页面的控件。
例如,开发者可以在开发应用时,通过代码声明图3C中的控件308a和后置摄像头的使用权限对应,图3G中的选项311a和图库权限对应,图3G中的选项311b和后置摄像头的使用权限对应,图3I中控件315和前置摄像头的使用权限对应,拍摄控件318和麦克风的使用权限对应,图3G中的选项311c和前置摄像头、麦克风的使用权限对应,图3J中控件324和后置摄像头的使用权限对应,图3K中的控件325或控件326和定位权限对应,图3M中控件330和麦克风的使用权限对应。
在一些实施方式中,开发者开发的应用运行时涉及的全部权限都可以通过上述绑定用户操作的方式来声明。
在另一些实施方式中,开发者开发的应用运行时涉及的部分权限可以通过上述绑定用户操作的方式来声明,其余权限可以通过另外的方式来声明。开发者可以使用任意的多种权限声明方式来开发应用。本申请实施例对开发者声明各项权限时所使用的权限声明方式不做具体限定。
在一个具体的示例中,开发者可以使用上述绑定用户操作的方式来声明敏感权限,将需要敏感权限的业务所绑定的用户操作,和该敏感权限做绑定。敏感权限是指针对敏感资源的访问权限,敏感资源可以是指被泄露后会对用户隐私造成较大风险的资源,如摄像头、音频设备、内存资源、计算能力(例如美颜算法能力、音视频编解码能力)、网络能力、定位功能、存储的用户信息、照片、视频、用户登录到应用程序的密码等等。通过绑定用户操作的方式来声明敏感权限,可以保证只有在用户触发敏感业务时,应用才能获取到敏感业务所需的权限,在其他情况下应用不能获取敏感业务所需的权限,也就不能执行敏感业务。这种方式可以保证敏感数据的安全性。
除了绑定用户操作和权限的方式,其他的权限声明方式还可以包括以下两种:
1.开发者通过配置文件中的代码声明:在电子设备安装应用时,由电子设备的操作系统直接授予该应用权限。
第1种方式无需用户感知,只要电子设备安装了应用,那么该电子设备的操作系统就可以直接向该应用授予权限。
使用第1种方式声明的权限例如可以是电子设备运行应用的过程中经常使用到并且隐私程度不高的权限,例如蓝牙的使用权限,广播权限,马达振动权限,后台运行权限等,本申请实施例对此不做限制。
2.开发者通过配置文件中的代码声明:在应用运行过程中,由电子设备向用户请求授权,并在用户明示同意后,再由电子设备授予该应用权限。
开发者还可以通过代码声明电子设备向用户请求授权的方式、时机,以及,用户同意授权的方式。
电子设备可以通过弹框或语音或其他方式向用户请求授权,用户可以通过输入用户操作来同意授权。
第2种方式需要用户触发授权,应用才能获取到相应的权限。电子设备可以在首次运行应用、首次运行相关功能,或每一次运行应用、每一次运行相关功能时询问用户是否授权。
使用第2种方式声明的权限例如可以是发送短信权限,接听来电,文件访问权限等,本申请实施例对此不做限制。
S102,设备100检查代码是否合规,和/或,人工检查代码是否合规。
在一些实施方式中,设备100可以运行IDE,通过IDE来检查代码是否合规。具体的,设备100中的IDE可以预置合规规则,并可以解析出代码中声明的各个用户操作和权限的对应关系,如果有用户操作绑定了对应的权限,则根据预置的合规规则检查该用户操作是否合规。只有代码中声明的全部设置有权限的用户操作都合规的情况下,该代码才是合规的。
在另一些实施方式中,设备100可以解析出代码中声明的各个用户操作和权限的对应关系,并将该对应关系呈现给专门的检查人员(如开发者或者其他检查人员),由检查人员来判定该应用安装包是否合规。
代码不合规是指,代码声明了用户操作绑定的业务以及执行该业务所需的权限时,该用户操作为诱导性的操作或者用户经常误触的操作。因而,设备100可以检查代码所声明的所有设置有权限的用户操作中,是否存在诱导性的操作或者用户经常误触的操作,若存在,则代码不合规。
通过合规性检查,可以避免电子设备300运行应用时,诱导用户输入用户操作从而获取对应的权限,或者,在用户误触时获取到对应的权限,这样可以进一步保护用户及设备的隐私安全。
举例来说,针对代码中声明的作用于界面元素的用户操作,设备100可以检查该界面元素的样式是否合规。只有该界面元素的样式合规时,作用于该界面元素的用户操作才合规。界面元素的样式可包括但不限于:位置、大小、形状、文字或透明度等。如果界面元素位于大小可变的窗口中,则界面元素的位置可以是该界面元素在窗口中的相对位置。示例性地,界面元素为透明的,或,界面元素占据全屏或者较大的区域,或,界面元素上的文字具有诱导性,或,界面元素的形状不规范,或者,界面元素的位置容易被误触等,都可以认定该界面元素的样式不合规。
再举例来说,针对代码中声明的隔空悬浮手势,设备100可以检查该隔空悬浮手势的实现形式是否合规。示例性地,隔空悬浮手势被设置为任意方向任意形式的隔空手势时,用户很容易无意识输入这样的手势,从而造成误触发,则该隔空悬浮手势不合规。
再举例来说,针对代码中声明的眼动操作,设备100可以检查该眼动操作的实现形式是否合规。示例性地,眼动操作被设置为任意眼球、任意方向的眼动操作时,用户很容易无意识输入这样的眼动操作,从而造成误触发,则该眼动操作不合规。
在本申请一些实施方式中,如果电子设备300的设备厂商要求应用开发者将某些权限和用户操作绑定,则S102中的合规性检查还可包括设备100检查代码中声明的该某些权限是否有绑定用户操作。若该某些权限绑定了用户操作,则合规。
若S102的检查结果为合规,则设备100可以继续执行S103。
若S102的检查结果为不合规,则设备100可以提示开发者修改代码,直至合规后再执行S103。
S103,设备100将开发者输入的代码打包为应用安装包,
开发者输入完整的代码后,可以输入用户操作以触发设备100编译该代码,以将该代码翻译为计算机可读可执行的二进制文件,也就是应用安装包。编译前后,代码和应用安装包所携带的信息不变。也就是说,应用安装包也携带了代码中声明的信息,具体可保持前文中关于代码声明的信息的描述。例如应用安装包指示了一个或多个用户操作分别绑定的业务,以及,执行该用户操作所绑定业务所需的权限。
在生成应用安装包的过程中,设备100还可以对安装包中携带的信息进行签名。签名操作可以防止应用安装包中携带的信息被篡改。
S103中生成的应用安装包所对应的应用可以被称为第一应用。第一应用例如可以是前文UI实施例提及的即时通讯应用(如畅连)、视频应用、线上会议应用、游戏应用或地图应用等。
S104,设备100将应用安装包发送给平台200。
设备100可以通过任意的通信方式将应用安装包发送给平台200,这里不做限制。
S105,平台200检查应用安装包是否合规,和/或,人工检查应用安装包是否合规。
在一些实施方式中,平台200可以运行用于检查合规性的应用程序来检查应用安装包是否合规。平台200检查应用安装包是否合规的具体操作,和S102中设备100检查合规性的操作类似,可参考相关描述。
在另一些实施方式中,平台200可以解析出应用安装包中声明的各个用户操作和权限的对应关系,并将该对应关系呈现给专门的检查人员,由检查人员来判定该应用安装包是否合规。人工判定应用安装包是否合规的规则,也可以参考S102中的相关描述。
在本申请实施例中,S102和S105可以均执行,也可以任选其一执行,这里不做限定。
S105中检查合规后,平台200可以将应用安装包上架,以供用户下载。
阶段二:应用下载及安装过程。
S106,电子设备300从平台200处下载应用安装包。
电子设备300为用户侧设备,电子设备300可以通过平台200对应的应用程序(如应用商店)、网页等渠道,查找到第一应用的信息,进而从平台200处下载应用安装包。
电子设备300可以通过任意的通信方式从平台200处下载应用安装包,这里不做限制。
不限于平台200,在本申请其他一些实施方式中,设备100可以将应用安装包发送到其他网络位置,电子设备300也可以从其他网络位置处下载该应用安装包。
在一些实施方式中,电子设备300下载应用安装包后,还可以校验该应用安装包的签名,以验证该应用安装包的安全性。在校验成功后,电子设备300可执行后续步骤。
S107,电子设备300根据应用安装包来安装第一应用。
具体的,电子设备300运行应用安装包,将第一应用的所有文件释放到对应的存储区,解析得到应用安装包中携带的信息,完成修改注册表、修改系统设置、创建快捷方式等工作,从而安装第一应用。
电子设备300可以从应用安装包中解析出一个或多个用户操作分别绑定的业务,以及,执行该用户操作所绑定业务所需的权限。即,电子设备300可以获知用户操作、业务和权限之间的对应关系。
在一些实施方式中,如果设备100在开发第一应用时通过S101中其他权限声明方式中的第1种方式声明了部分权限,则电子设备300还可以从应用安装包中获知该部分权限在后续将通过系统授权的方式获取。
在一些实施方式中,如果设备100在开发第一应用时通过S101中其他权限声明方式中的第2种方式声明了部分权限,则电子设备300还可以从应用安装包中获知该部分权限在后续将通过用户授权的方式获取。
电子设备300可以存储从应用安装包中解析得到的信息,以供后续使用。
电子设备300安装第一应用后,可以在主界面显示该第一应用的应用图标。示例性地,参考图3A,电子设备300可以在用户界面31中显示第一应用的应用图标,如即时通讯应用(如畅连)的图标303、视频应用的图标301、线上会议应用的图标302、游戏应用的图标304或地图应用的图标305等。
阶段三:授权过程。
可选步骤S108,电子设备300通过系统授权的方式授予第一应用部分权限。
如果设备100在开发第一应用时通过S101中其他权限声明方式中的第1种方式声明了部分权限,则电子设备300可以执行S108。
电子设备300安装第一应用的应用安装包后,可根据从应用安装包中解析到的信息,通过系统直接将这部分权限授予第一应用。
举例来说,若第一应用为即时通讯应用(如畅连),那么电子设备300可以在安装即时通讯应用(如畅连)后,通过系统直接将蓝牙的使用权限,广播权限,马达振动权限,后台运行权限授予该即时通讯应用(如畅连)。
电子设备300通过系统授权的方式授予第一应用的部分权限后,第一应用在运行过程中可以根据需要使用该部分权限,无需用户参与授权。
S109,电子设备300运行第一应用。
电子设备300可以响应于接收到的用户操作,运行第一应用。
示例性地,电子设备300可以接收到作用于图3A所示的用户界面31中应用程序的图标上的用户操作(如点击操作、触摸操作等),并响应于该用户操作启动第一应用。如,电子设备300接收到作用于图3A中的图标303的用户操作后,可以启动即时通讯应用(如畅连)。
可选步骤S110,电子设备300通过用户授权的方式授予第一应用部分权限。
如果设备100在开发第一应用时通过S101中其他权限声明方式中的第2种方式声明了部分权限,则电子设备300可以执行S110。
电子设备300可以在首次启用第一应用或者首次启用第一应用中的部分功能时,请求用户授予第一应用这部分权限。在其他的一些实施方式中,电子设备300也可以在非首次启用第一应用或者非首次启用第一应用中的部分功能时,请求用户授予第一应用这部分权限。也就是说,S110可以在S109之后的任意时间点执行。
电子设备300请求用户授予权限的方式有多种,例如可包括弹窗、语音等。用户可通过输入用户操作来同意授权。用户同意授权时还可以指示该部分权限的有效时限,若用户指示了有效时限,则电子设备300将在该有效时限之后回收第一应用的该部分权限。第一应用在有效时限内可以根据需要使用该部分权限。
举例来说,若第一应用为即时通讯应用(如畅连),那么电子设备300可以在首次运行即时通讯应用(如畅连)时,通过弹窗请求用户授予发送短信的权限,并在用户同意后,将发送短信的权限授予该即时通讯应用(如畅连)。
S111,电子设备300接收到第一操作,该第一操作绑定有第一业务和第一权限。
电子设备300运行第一应用的过程中,可以和用户交互。用户可以向电子设备300输入各类用户操作,以使用第一应用提供的各项功能。
如果电子设备300接收到的用户操作,是S107中电子设备300安装第一应用时解析得到的对应有业务和权限的用户操作,则该用户操作可以被称为第一操作,和该第一操作绑定的业务称为第一业务,和该第一操作绑定的权限称为第一权限。第一操作绑定的第一业务可以有一个或多个,和第一操作绑定的第一权限也可以有一个或多个。
示例性地,参考表1,表1示出了几种可能的用户操作、业务和权限之间的对应关系。
该对应关系在第一应用的开发过程中由开发者在开发代码中声明。
表1
S112,电子设备300将第一权限授予第一应用。
电子设备300接收到第一操作后,可以响应于第一操作,通过系统将第一权限授予第一应用。
在本申请一些实施方式中,第一权限具体可以被分为启动权限和运行权限。启动权限是指启动资源的权限,运行权限是指在启动资源后持续访问或运行资源、继续配置已启动资源并获取其数据的权限。电子设备300先将启动权限授予第一应用,然后在基于启动权限启动对应资源后,再将运行权限授予第一应用。电子设备300授予第一应用的启动权限单次有效,运行权限的时效由电子设备300执行第一业务的情况来决定。
S113,电子设备300基于第一权限,通过第一应用执行第一业务。
在将第一权限授予第一应用之后,电子设备300即可通过第一应用来执行第一业务。
在一些实施方式中,电子设备300可以先根据第一权限中的启动权限,先启动相关资源,然后收回授予第一应用的该启动权限。之后,电子设备300根据第一权限中的运行权限,继续配置已启动的资源并获取相关数据,以支撑第一业务的执行。在该实施方式中,电子设备300在接收到第一操作后才授予启动权限,第一应用无法自行获取启动权限,这样可以严格管控相关资源的启用,避免了应用私自获取用户的隐私数据。
示例性地,参考图3C-图3D,电子设备300将摄像头权限授予即时通讯应用后,可以启动摄像头并使用摄像头扫码。
示例性地,参考图3G-图3H,电子设备300将图库权限授予即时通讯应用后,可以访问图库并展示图库中的内容。
示例性地,参考图3I,电子设备300将后置摄像头权限授予即时通讯应用后,可以启动后置摄像头并使用后置摄像头拍摄图像;电子设备300将麦克风权限授予即时通讯应用后,可以启动麦克风并使用麦克风录音。
示例性地,参考图3J,电子设备300将前置摄像头和麦克风的权限授予即时通讯应用后,可以启用前置摄像头拍摄图像,启用麦克风录音。
示例性地,参考图3K-图3L,电子设备300将定位权限授予即时通讯应用后,可以启用定位功能定位。
示例性地,参考图3M-图3N,电子设备300将麦克风权限授予即时通讯应用后,可以启用麦克风录音。
在本申请一些实施方式中,电子设备300在使用第一权限执行第一业务的过程中,可以输出提示信息,从而提示用户当前电子设备300正在使用第一权限。提示信息例如可包括但不限于:显示在用户界面上的界面元素(如使用第一权限时显示一个新的页面、使用麦克风权限时在显示屏左上角显示的录音标识)、提示光(如使用摄像头时摄像头周围区域的提示光)、振动提示等等。示例性地,参考图3N,用户界面39中的标识331可用于提示用户当前电子设备300正在使用麦克风录音。
在本申请一些实施方式中,电子设备300在使用第一权限执行第一业务的过程中,可以在前台运行第一应用,也可以在后台运行第一应用。例如,在一些场景中,电子设备300使用麦克风权限录音时,即使电子设备300已经将第一应用切换至后台运行,该第一应用仍然可以持续持有麦克风权限并且根据该权限录音,直至用户输入操作停止录音。
S114,在执行完第一业务后,电子设备300收回授予第一应用的第一权限。
在一些实施方式中,第一权限分为启动权限和运行权限,那么电子设备300可以在执行第一业务的过程中,启动相关资源后即先收回启动权限,然后在持续使用相关资源以执行完第一业务之后,再收回运行权限。这样将第一权限细分为启动权限和运行权限,并且两者采用不同的生命周期,可以更加严格地管控电子设备300中的资源,避免应用私自获取用户的隐私数据。
电子设备300可以在以下任意一种情况下结束执行第一业务:
1,电子设备300已获取到想要的业务数据。例如,参考图3D,电子设备300通过摄像头扫描到二维码后,即可关闭摄像头。
2,电子设备300接收到用户指示结束第一业务的操作,并响应于该用户操作结束执行第一业务。例如,参考图3I,电子设备300接收到作用于返回键317的用户操作后,可以关闭摄像头;参考图3J,电子设备300接收到作用于挂断控件322的用户操作后,可以关闭摄像头和麦克风;参考图3L,电子设备300接收到作用于取消控件327的用户操作后,可以关闭定位功能;参考图3N,当用户结束触摸控件330后,电子设备300关闭麦克风。
在一些实施方式中,如果第一权限包含多个不同资源的使用权限,则电子设备300可以分步回收该多个不同资源的使用权限,并且在执行完第一业务后达到该多个不同资源的使用权限均被收回的效果。其中,如果第一权限中包含的某个资源使用权限所支撑的第一业务中的子业务已完成,则即使第一业务还未结束,电子设备300也可以先收回该某个资源的使用权限。示例性地,参考图3J,如果电子设备300接收到作用于控件324的用户操作,则可以先收回授予即时通讯应用的前置摄像头使用权限;或者,电子设备300接收到作用于控件323的用户操作,也可以先收回授予即时通讯应用的前置摄像头使用权限。这样分布收回第一权限包含的多个权限的方式,对第一应用的权限管控粒度更加细致,可以更严格地进行权限管控,进而保证用户及设备隐私。
在本申请实施例中,电子设备300可以持续持有第一权限。具体的,电子设备300将第一权限授予第一应用之后,第一应用可以在持续使用该第一权限,直至第一业务执行完毕。例如,电子设备300将麦克风权限授予第一应用后,电子设备300可以使用麦克风权限持续录音,直至用户输入操作停止录音。
通过图4所示的权限管理方法,根据用户的操作意图进行授权,即在用户通过用户操作触发业务时才进行授权,可以避免应用在用户没有操作意图时获取到权限并利用该权限获取用户的隐私数据。可见,该方法限制了应用能够获取并使用权限的条件,避免授予应用过大的权限使用自由,从而保护用户隐私,增强用户侧电子设备的安全性,提升了用户体验。
基于上述图4所示的权限管理方法,下面列举一个示例。
电子设备300根据应用安装包安装第一应用时,可以在安装过程中从该应用安装包中获取到多个控件中的每个控件和权限之间的对应关系,其中的每个控件对应一个或多个权限;之后,电子设备300运行第一应用,并显示第一用户界面,第一用户界面中显示有多个控件;电子设备300接收到作用于多个控件中的第一控件的操作后,可以响应于该操作,将第一控件对应的权限授予第一应用,并使用该第一权限来执行该操作对应的业务。
其中,第一用户界面可以是第一应用提供的任意一个界面。例如,图3G所示的用户界面34可以被称为第一用户界面,该用户界面34中的选项311a、选项311b、选项311c可以被称为第一用户界面中的多个控件。第一控件可以是上述用户界面34中的任意一个控件。作用于第一控件的操作可以被称为第一操作,第一控件对应的权限可以被称为第一权限,第一操作所触发的业务可以被称为第一业务。
进一步地,在一些实施方式中,电子设备300还可以接收到作用于第一用户界面中的第二控件的第二操作,响应于该第二操作,将第二控件对应的第二权限授予第一应用,并使用该第二权限来执行该第二操作对应的第二业务。第二控件和第一控件是不同的控件。
进一步地,在一些实施方式中,电子设备300还可以接收到第三操作,第三操作用于触发第一应用的第三业务;响应于第三操作,电子设备300将第三权限授予第一应用,第三操作包括以下任意一项或多项:作用于物理按键上的用户操作、手势或语音指令;电子设备300使用第三权限执行第三业务。相当于,除了作用于界面元素的用户操作,本申请提供的权限管理方法还可以适用于其他类型的用户操作,电子设备可以在接收到其他类型的用户操作后,根据该用户操作直接将对应的权限授予对一应用。
进一步地,在一些实施方式中,电子设备运行第一应用之前,可以响应于第一应用安装完成的操作,将第四权限授予第一应用。第四权限是指通过系统方式授予第一应用的权限,具体可参考前文S108中的相关描述。
进一步地,在一些实施方式中,电子设备运行第一应用后,可以接收到第四操作,第四操作用于指示将第五权限授予第一应用;电子设备将第五权限授予第一应用。第五权限是指通过用户授权的方式授予第一应用的权限,具体可参考前文S110的相关描述。
参考图5,图5示例性示出了电子设备300执行权限管理方法时的内部交互过程。图5所示的内部交互过程中,触发授权的第一操作为作用于界面元素的操作。
如图5所示,电子设备300可包括:应用安装模块、系统数据库、显示屏、输入模块、窗口管理模块、UI框架、权限管理模块、业务模块、第一应用。
其中,显示屏可以是图1C中的显示屏194,窗口管理模块可以是图1D中的窗口管理器,第一应用可以是图1D中位于应用程序层的第一应用。输入模块,窗口管理模块,UI框架,权限管理模块,业务模块,应用安装模块可位于图1D中的应用程序框架层。系统数据库位于图1D中的系统库。
上述各个模块可以为软件模块,也可以为硬件模块,还可以是软硬件结合的模块
如图5所示,电子设备300执行权限管理方法时的内部交互过程可包括如下步骤:
1.应用安装模块运行应用安装包来安装第一应用,并解析得到该应用安装包中携带的信息,将该信息保存到系统数据库中。
步骤1的具体实现可参考前文S107的相关描述,这里不再赘述。
应用安装模块解析得到的信息包括用户操作、业务和权限之间的对应关系。
步骤1之后,电子设备300可以运行第一应用,并在运行第一应用的过程中执行后续步骤。
2.用户点击显示屏上显示的控件。
3.显示屏将接收到用户点击操作的位置信息传递给输入模块。
4.输入模块将过滤后的位置信息传递给窗口管理模块。
5.窗口管理模块计算接收到用户点击操作的位置在焦点窗口中的相对位置,通过焦点窗口可以找出当前的应用(如第一应用)和页面,然后到系统数据库中查询该应用的信息中,是否存在该相对位置对应的控件和权限。
6.如果窗口管理模块查询到存在对应的权限,则通知权限管理模块授予该第一应用相应权限。
7.窗口管理模块将位置信息透传给UI框架,UI框架找到对应的控件,然后回调第一应用的业务实现。
8.第一应用在回调方法中调度业务模块启动对应的业务。
9.业务模块向权限管理模块查询该第一应用是否具备启动对应业务的权限,若具备,则启动对应业务。
10.应用的控件回调结束后,权限管理模块关闭启动业务的权限,继续配置已启动的业务并获取其业务数据以支持业务模块完成对应的业务,并且,在业务模块执行完该业务后,权限管理模块关闭相应的运行权限。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请还提供一种电子设备,该电子设备可以包括:存储器和处理器。其中,存储器可用于存储计算机程序;处理器可用于调用所述存储器中的计算机程序,以使得该电子设备执行上述任意一个实施例中开发者侧的设备100或用户侧的电子设备300执行的方法。
本申请还提供一种电子设备,该电子设备可以包括:存储器和处理器。其中,存储器可用于存储计算机程序;处理器可用于调用所述存储器中的计算机程序,以使得该电子设备执行上述任意一个实施例中开发者侧的设备100或用户侧的电子设备300执行的方法。
本申请还提供了一种芯片系统,所述芯片系统包括至少一个处理器,用于实现上述任一个实施例中开发者侧的设备100或用户侧的电子设备300所涉及的功能。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存程序指令和数据,存储器位于处理器之内或处理器之外。
该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请实施例并不限定。示例性地,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性地,该芯片系统可以是现场可编程门阵列(field programmable gatearray,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processorunit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
本申请还提供一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述任一个实施例中开发者侧的设备100或用户侧的电子设备300所执行的方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)。当所述计算机程序被运行时,使得计算机执行上述任一个实施例中开发者侧的设备100或用户侧的电子设备300所执行的方法。
本申请的各实施方式可以任意进行组合,以实现不同的技术效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solidstate disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本申请技术方案的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (25)
1.一种权限管理方法,其特征在于,包括:
电子设备根据应用安装包安装第一应用,并在安装所述第一应用的过程中,从所述应用安装包中获取到多个控件中的每个控件和权限之间的对应关系,所述每个控件对应一个或多个权限;
所述电子设备运行所述第一应用;
所述电子设备显示所述第一应用的第一用户界面,所述第一用户界面中显示有所述多个控件;
所述电子设备接收到作用于所述多个控件中的第一控件的第一操作,所述第一操作用于触发所述第一应用的第一业务;
响应于所述第一操作,所述电子设备将所述第一控件对应的第一权限授予所述第一应用;
所述电子设备使用所述第一权限执行所述第一业务。
2.根据权利要求1所述的方法,其特征在于,所述电子设备显示所述第一应用的第一用户界面之后,所述方法还包括:
所述电子设备接收到作用于所述多个控件中的第二控件的第二操作,所述第二操作用于触发所述第二应用的第二业务;
响应于所述第二操作,所述电子设备将所述第二控件对应的第二权限授予所述第二应用;
所述电子设备使用所述第二权限执行所述第二业务。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述电子设备完成所述第一业务后,收回授予所述第一应用的所述第一权限。
4.根据权利要求3所述的方法,其特征在于,在以下任一种情况下,所述电子设备完成所述第一业务:所述电子设备获取到所述第一业务的业务数据,或者,所述电子设备接收到用于结束所述第一业务的用户操作。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述电子设备持续使用所述第一权限执行所述第一业务。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一控件对应的所述第一权限包括第一资源的启动权限和运行权限;
所述电子设备将所述第一控件对应的第一权限授予所述第一应用,所述电子设备使用所述第一权限,执行所述第一业务,具体包括:
所述电子设备将所述启动权限授予所述第一应用;
所述电子设备使用所述启动权限,启动所述第一资源;
所述电子设备将所述运行权限授予所述第一应用;
所述电子设备使用所述运行权限,运行所述第一资源,以执行所述第一业务。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述电子设备启动所述第一资源后,收回授予所述第一应用的所述启动权限;
所述电子设备完成所述第一业务后,收回授予所述第一应用的所述运行权限。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述多个控件中的每个控件和权限之间的对应关系,由所述第一应用的开发方设置。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述多个控件中每个控件的样式由所述第一应用的开发方设置。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述多个控件中每个控件对应的权限包括涉及用户隐私的权限。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述电子设备使用所述第一权限执行所述第一业务时,所述第一应用在后台运行。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述方法还包括:
所述电子设备接收到第三操作,所述第三操作用于触发所述第一应用的第三业务;
响应于所述第三操作,所述电子设备将第三权限授予所述第一应用,所述第三操作包括以下任意一项或多项:作用于物理按键上的用户操作、手势或语音指令;
所述电子设备使用所述第三权限执行所述第三业务。
13.根据权利要求1-12任一项所述的方法,其特征在于,所述方法还包括:
所述电子设备运行所述第一应用之前,响应于所述第一应用安装完成的操作,将第四权限授予所述第一应用;
和/或,
所述电子设备运行所述第一应用后,接收到第四操作,所述第四操作用于指示将第五权限授予所述第一应用;所述电子设备将所述第五权限授予所述第一应用。
14.一种权限管理方法,其特征在于,包括:
设备接收输入的代码,所述代码指示了多个控件中的每个控件和权限之间的对应关系,具体指示了作用于所述多个控件中的第一控件的第一操作、第一业务和第一权限的对应关系,所述第一操作用于触发所述第一业务,所述第一权限为执行所述第一业务所需的权限;
所述设备将所述代码打包为应用安装包。
15.根据权利要求14所述的方法,其特征在于,所述代码还指示了作用于所述多个控件中的第二控件的第二操作、第二业务和第二权限的对应关系,所述第二操作用于触发所述第二业务,所述第二权限为执行所述第二业务所需的权限。
16.根据权利要求14或15所述的方法,其特征在于,所述代码还指示了所述多个控件中的每个控件的样式。
17.根据权利要求14-16任一项所述的方法,其特征在于,所述代码还指示了第三操作、第三业务和第三权限的对应关系,所述第三操作用于触发所述第三业务,所述第三权限为执行所述第三业务所需的权限;
所述第三操作包括以下任意一项或多项:作用于物理按键上的用户操作、手势或语音指令。
18.根据权利要求14-17任一项所述的方法,其特征在于,所述设备将所述代码打包为应用安装包之前,所述方法还包括:
所述设备确认所述多个控件中的每个控件符合规范。
19.根据权利要求18所述的方法,其特征在于,
所述多个控件中的每个控件的样式符合规范的情况下,所述多个控件中的每个控件符合规范;所述控件的样式包括以下任意一项或多项:位置、大小、形状、文字或透明度。
20.根据权利要求14-19任一项所述的方法,其特征在于,所述多个控件中的每个控件对应的权限包括涉及用户隐私的权限。
21.根据权利要求14-20任一项所述的方法,其特征在于,所述方法还包括:
所述设备将所述应用安装包上传至平台,以供电子设备下载。
22.一种电子设备,其特征在于,包括:存储器、一个或多个处理器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求1-13、或权利要求14-21中任一项所述的方法。
23.一种通信系统,其特征在于,所述通信系统包括第一设备、第二设备,所述第一设备用于执行如权利要求1-13任一项所述的方法,所述第二设备用于执行如权利要求14-21中任一项所述的方法。
24.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行,使得所述电子设备执行如权利要求1-13、或权利要求14-21中任一项所述的方法。
25.一种计算机程序产品,其特征在于,所述计算机程序产品包含计算机指令,当所述计算机指令在电子设备上运行,使得所述电子设备执行如权利要求1-13、或权利要求14-21中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211330328.0A CN117992933A (zh) | 2022-10-27 | 2022-10-27 | 权限管理方法、相关装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211330328.0A CN117992933A (zh) | 2022-10-27 | 2022-10-27 | 权限管理方法、相关装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117992933A true CN117992933A (zh) | 2024-05-07 |
Family
ID=90893866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211330328.0A Pending CN117992933A (zh) | 2022-10-27 | 2022-10-27 | 权限管理方法、相关装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117992933A (zh) |
-
2022
- 2022-10-27 CN CN202211330328.0A patent/CN117992933A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021159922A1 (zh) | 卡片显示方法、电子设备及计算机可读存储介质 | |
WO2021063074A1 (zh) | 一种分屏显示方法与电子设备 | |
CN103581427B (zh) | 移动终端及其控制方法 | |
CN114840842A (zh) | 智能终端的登录方法及电子设备 | |
CN112131556A (zh) | 权限控制方法、装置、设备及存储介质 | |
CN111656347B (zh) | 一种项目的显示方法及终端 | |
CN112835495B (zh) | 开启应用程序的方法、装置及终端设备 | |
CN114530148A (zh) | 一种控制方法、装置及电子设备 | |
WO2023088459A1 (zh) | 设备协同方法及相关装置 | |
CN115657897A (zh) | 跨设备桌面管理方法、第一电子设备及第二电子设备 | |
CN117331455A (zh) | 多用户管理方法、图形界面及相关装置 | |
CN117992933A (zh) | 权限管理方法、相关装置及系统 | |
WO2022052706A1 (zh) | 一种服务的分享方法、系统及电子设备 | |
CN116982042A (zh) | 灵活授权的访问控制方法、相关装置及系统 | |
CN115238299A (zh) | 基于安全等级的访问控制方法、相关装置及系统 | |
CN115130132A (zh) | 精准撤销权限的访问控制方法、相关装置及系统 | |
CN115268710A (zh) | 应用程序的登录方法、相关装置和系统 | |
WO2024078412A1 (zh) | 跨屏分享方法、图形界面及相关装置 | |
CN110569037A (zh) | 数据写入的方法和装置 | |
CN111159734A (zh) | 通信终端及多应用数据互访处理方法 | |
CN110868640A (zh) | 资源转移方法、装置、设备及存储介质 | |
US20240126897A1 (en) | Access control method and related apparatus | |
WO2023185881A1 (zh) | 应用程序权限管理方法、系统及相关装置 | |
CN111656346A (zh) | 一种显示方法及终端 | |
CN117348767A (zh) | 应用管理方法、图形界面及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |