相关申请
本发明要求于2017年10月26日提交美国商标专利局、申请号为no.15/795,101、发明名称为“用于管理电子设备中的硬件资源访问的方法和装置”的美国非临时专利申请案的在先申请优先权,该在先申请的全部内容以引入的方式并入本文本中。
本发明总体上涉及电子设备的操作,更具体地,涉及用于管理移动电子设备中的硬件资源访问的方法和装置。
背景技术:
现有的智能手机、平板电脑和智能手表等移动电子设备,凭借多样的通信能力以及由这些设备提供的多功能软件应用,为终端用户提供丰富且愉悦的体验。然而,一些移动设备可能感染恶意软件(“恶意软件”),这些恶意软件在用户不知情的情况下执行操作。由于其操作的隐密性,恶意软件可能难以检测。
技术实现要素:
一种示例实施例包括一种管理移动设备上的硬件资源访问的方法,包括:接收第一用户输入,所述第一用户输入为向所述移动设备上的第一应用授予对所述移动设备的第一硬件资源的访问权限,根据所述第一用户输入向所述第一应用授予对所述第一硬件资源的访问权限;在向所述第一应用授予对所述第一硬件资源的访问权限后,检测到所述第一应用在后台执行时对所述第一硬件资源的访问尝试,并根据所述检测:获取所述移动设备的第一操作模式,其中,所述第一操作模式包括移动设备是处于锁定状态还是解锁状态的指示;确定多个策略中没有策略向所述第一应用授予在所述第一操作模式期间对所述第一硬件的访问权限;根据所述确定,提供用户输入请求通知,请求用户同意或拒绝所述第一应用对所述第一硬件资源的访问;接收响应所述通知的第二用户输入;以及,根据所述第二用户输入,在所述多个策略中添加新策略,以同意或拒绝所述第一应用在所述第一操作模式期间对所述第一硬件资源的访问。
可选的,在上述实施例中的任意实施例中,所述第二用户输入为同意对所述第一硬件资源的访问,所述方法还包括向所述第一应用授予对所述第一硬件资源的访问权限。
可选的,在上述实施例中的任意实施例中,所述第二用户输入为拒绝对所述第一硬件资源的访问,所述方法还包括拒绝向所述第一应用授予对所述第一硬件资源的访问权限。
可选的,在上述实施例中的任意实施例中,所述第二用户输入为拒绝对所述第一硬件资源的访问,所述方法还包括拒绝向所述第一应用授予对所述第一硬件资源的访问权限。
可选的,在上述实施例中的任意实施例中,所述第一硬件资源包括麦克风输入、相机输入、触摸屏输入、键盘输入、显示输出、触觉输出、移动设备位置信息或接近传感器读数。
可选的,在上述实施例中的任意实施例中,所述相机输入为从红外相机输入。
可选的,在上述实施例中的任意实施例中,所述方法还包括:从服务器接收所述多个策略,以及将所述新策略发送至所述服务器。
可选的,在上述实施例中的任意实施例中,所述方法中,提供用户输入请求通知,请求用户同意或拒绝访问,包括:在所述移动设备的显示器上提供图形用户界面,或者通过所述移动设备的音频输出提供自然语言消息。
可选的,在上述实施例中的任意实施例中,所述操作模式还包括以下一项或多项信息:安装于所述移动设备上的一个或多个其他应用的指示、当前在所述移动设备上执行的一个或多个其他应用的指示、或所述移动设备的当前位置。
可选的,在上述实施例中的任意实施例中,所述方法还包括:确定,在将所述新策略添加到所述多个策略中后,已过了一段时间,并根据所述确定,从所述多个策略中移除所述新策略。
在另一实施例中,使用访问控制系统来管理移动设备中的硬件资源访问。所述访问控制系统包括:功能限制单元,用于向第一应用授予对第一硬件资源的访问权限,其中,所述第一硬件资源为所述移动设备的相机或所述移动设备的麦克风;以及检测单元,用于检测到所述第一应用在后台执行时对所述第一硬件资源的访问尝试。根据所述检测到所述第一应用在后台执行时对所述第一硬件资源的访问尝试,所述功能限制单元可以拒绝所述第一应用对所述第一硬件资源的访问。
另一实施例包括移动电子设备,包括:用于显示图形信息的屏幕;存储指令的存储器;以及与所述存储器和所述屏幕进行通信的一个或多个处理器,其中,所述一个或多个处理器用于执行所述指令以:接收第一用户输入,所述第一用户输入为向所述移动设备上的第一应用授予对所述移动设备的第一硬件资源的访问权限,根据所述第一用户输入向所述第一应用授予对所述第一硬件资源的访问权限;在向所述第一应用授予对所述第一硬件资源的访问权限后,检测到所述第一应用在后台执行时对所述第一硬件资源的访问尝试,并根据所述检测:获取所述移动设备的第一操作模式,其中,所述第一操作模式包括移动设备是处于锁定状态还是解锁状态的指示;确定多个策略中没有策略向所述第一应用授予在所述第一操作模式期间对所述第一硬件的访问权限;根据所述确定,提供用户输入请求通知,请求用户同意或拒绝所述第一应用对所述第一硬件资源的访问;接收响应所述通知的第二用户输入;以及,根据所述第二用户输入,在所述多个策略中添加新策略,以同意或拒绝所述第一应用在所述第一操作模式期间对所述第一硬件资源的访问。
可选的,在上述实施例中的任意实施例中,所述移动电子设备中,所述第二用户输入为同意对所述第一硬件资源的访问,所述一个或多个处理器用于向所述第一应用授予对所述第一硬件资源的访问权限。
可选的,在上述实施例中的任意实施例中,所述移动电子设备中,所述第二用户输入为拒绝对所述第一硬件资源的访问,所述一个或多个处理器用于拒绝向所述第一应用授予对所述第一硬件资源的访问权限。
可选的,在上述实施例中的任意实施例中,所述移动电子设备中,所述第一硬件资源包括麦克风输入、相机输入、触摸屏输入、显示输出、触觉输出、移动设备位置信息或接近传感器读数。
可选的,在上述实施例中的任意实施例中,所述移动电子设备中,所述相机输入为从红外相机输入。
可选的,在上述实施例中的任意实施例中,所述移动电子设备还包括:所述一个或多个处理器用于从服务器接收所述多个策略,以及将所述新策略发送至所述服务器。
可选的,在上述实施例中的任意实施例中,所述移动电子设备中,提供用户输入请求通知,请求用户同意或拒绝访问,包括:在所述移动设备的显示器上提供图形用户界面,或者通过所述移动设备的音频输出提供自然语言消息。
可选的,在上述实施例中的任意实施例中,所述移动电子设备中,所述操作模式还包括以下一项或多项信息:安装于所述移动设备上的一个或多个其他应用的指示、当前在所述移动设备上执行的一个或多个其他应用的指示、或所述移动设备的当前位置。
可选的,在上述实施例中的任意实施例中,所述移动电子设备还包括:所述一个或多个处理器用于确定,在将所述新策略添加到所述多个策略中后,已过了一段时间,并根据所述确定,从所述多个策略中移除所述新策略。
可选的,在上述实施例中的任意实施例中,移动电子设备。
附图说明
图1为不同操作模式下移动计算设备100的示例。
图2示出了本发明实施例的用于访问移动电子设备的硬件资源的由计算机实现的技术的流程图。
图3示出了本发明实施例的资源管理系统。
图4示出了本发明实施例的用于访问移动电子设备的硬件资源的由计算机实现的技术的示例流程图。
图5示出了本发明实施例的移动电子设备500的组件的方框图。
具体实施方式
以下对本发明实施例进行具体说明,附图所示为各实施例的示例。以下具体说明中陈述了许多具体细节,以助于通彻理解本发明。然而,对本领域普通技术人员显而易见的是,可以在没有这些具体细节的情况下实施这些实施例,或者可以在不脱离本发明的精神和范围的情况下对实施例进行各种修改和替换。另一方面,对众所周知的方法、流程、组件和电路未做详细说明,以免对实施例的各方面造成不必要地模糊。
应用软件或应用程序(“应用”)是设计用来帮助用户执行一组功能、任务或活动的计算机程序。应用的例子包括文字处理器、电子表格、会计软件、网络浏览器、媒体播放器、电子游戏或照片编辑器等。这与管理计算设备应用的执行的系统软件,如操作系统,正好相反。
所谓的非自愿追踪软件,如恶意软件,可通过多种方式安装在计算设备上。例如,这种追踪软件可作为安装在计算设备上的另一应用的副产品安装在该计算设备上。追踪软件通常在后台运行并监视计算设备的一个或多个硬件资源。即使计算设备制造商提供较高级别的安全性,恶意软件仍可通过其他方式安装。例如,为了安装在后台运行的隐形追踪程序,恶意软件可以绕过系统软件的安全措施。恶意应用可以,在用户不知情的情况下,通过访问用户的计算设备,如智能手机、智能手表、平板电脑或手提电脑,的硬件资源来追踪用户的活动。
硬件资源为计算设备的物理硬件组件、一个或多个物理硬件组件的输入或输出(i/o)、或者从物理硬件组件的i/o衍生的数据。举例来说,物理硬件组件可以为麦克风、接近传感器、图像传感器、触摸屏、物理按钮、全球定位系统(gps)接收器、蜂窝无线设备、wi-fi无线设备、或蓝牙收发器。例如,i/o硬件组件包括麦克风输入、图像传感器(如相机)输入、触摸屏输入、键盘输入、显示输出、触觉输出或接近传感器读数。例如,从物理硬件组件的i/o衍生的数据可以是在gps接收器和wi-fi无线设备等接收的信息的基础上衍生出的计算设备的地理位置(“地理位置”)。还可能有其他类型的硬件资源。
计算设备有不同的操作模式。一般来说,操作模式为计算设备通电时表示计算设备的状态的布尔表达式。计算设备的状态包括以下的一个或多个因素:指定的应用是在前台执行还是后台执行、设备处于锁定还是解锁状态、设备是否处于飞行模式、设备上执行的应用的指示、以及设备的当前地理位置。也就是说,操作模式是这些因素的布尔表达式。当计算设备处于飞行模式时,计算设备可以暂停射频信号传输(如蜂窝、wi-fi和蓝牙传输)。当计算设备不处于飞行模式时,计算设备可以正常工作,例如使用蜂窝、wi-fi和蓝牙传输进行信号收发。锁定状态可用于防止对触摸屏显示器的无意操作,例如,当设备在用户的口袋或钱包中时,或者当另一物体紧靠设备时。锁定状态还可用于防止未经授权的人使用设备。一般来说,当用户按下特定按钮或一系列按钮时或当设备已经空闲一段时间时,设备被编程进入锁定状态。当用户想要使用处于锁定状态的设备时,需要用户发出命令、拖动滑动条、按下特定按钮或一系列按钮(比如,输入密码)以解锁设备。
图1示出了不同操作模式下移动计算设备100的示例。如图所示,所述移动计算设备100,例如智能电话、智能手表或平板设备等计算设备,处于解锁状态操作模式101,且具有提供图形用户界面(graphicaluserinterface,gui)的显示器104,其中移动计算设备上的各应用由gui中的用户可选图标表示。在锁定状态操作模式102中,可将所述移动计算设备的显示器104下电。当所述移动计算设备100处于锁定状态时,可以暂停许多功能。在另一操作模式103中,在显示器104上显示用户通知106。当计算设备100处于锁定或解锁状态时,可以显示通知,以引起计算设备100的用户的注意。在一些实现方式中,向计算设备100的用户提供通知以请求用户输入,请求用户同意或拒绝应用对硬件资源的访问。或者,或,此外,通知可以为语音消息、声音或触觉反馈等。可以激活移动电子设备的显示器以显示如103所示的通知消息。通知的消息内容本身可以同时显示。
本发明提供了通过策略来管理移动设备上的硬件资源访问的各种实施例,从而可以为用户提供安全便利的方式来控制对硬件资源的访问。
在本发明一实施例中,设备配有硬件资源访问的管理策略。策略为指示同意或拒绝指定应用在计算设备的指定操作模式期间访问计算设备上的指定硬件资源的规则。所述策略可以保存在文件中,如xml文件或文本等。策略的一般形式为:<应用标识,硬件资源标识,操作模式布尔表达式,同意/拒绝>,其中所述应用标识用于标识应用;硬件资源标识用于标识硬件源(如麦克风、相机等);操作模式为上述一个或多个因素的布尔表达式。策略可包括多条记录,每条记录可包括如上所述的策略形式。当应用id、硬件资源id各自匹配相应的id,且操作模式表达式的结果为真时,策略会被触发。当策略被触发时,根据策略中的“同意/拒绝”字段同意或拒绝所标识的应用对所标识的硬件资源的访问。可选地,策略可具有有效期,过了有效期的策略将不再有效。
例如,表1列出了一些示例性策略。
表1
表1中的每一行可以为示例策略,并且策略可以显示为一条或多条记录。例如,对表1中的第一应用(应用1),当应用1在后台执行且相机应用当前正在执行时,应用1想要发起对麦克风的动作或访问,则根据表1第1行的第一项策略,拒绝该意图或访问。例如,有关应用3的策略为,当应用3在前台执行且应用3想要发起对相机的动作或访问时,根据表1第7行的第二项策略,同意该意图或访问。
当应用尝试访问设备的硬件资源时,设备确定是否有一个或多个策略向应用授予对硬件资源的访问权限。例如,当没有策略授予访问权限时,可拒绝应用对硬件资源的访问,或向设备用户提供通知,请求用户同意或拒绝应用对硬件资源的访问权。如上所述,该通知可以为计算设备的gui中显示的消息,或语音提示。在提供了通知的情况下,会根据用户对通知的响应创建新策略。新策略指定应用、应用试图访问的硬件资源、表示应用尝试访问时计算设备的操作模式的布尔表达式、以及用户同意或拒绝访问的指示。当应用尝试在该操作模式下访问该硬件资源时,策略将自动向应用授予权限,而无需获取用户输入。
图2示出了本发明实施例的用于访问移动电子设备的硬件资源的由计算机实现的技术的流程图。
在步骤201中,安装第一应用时,接收第一应用对设备100的第一硬件资源的访问权限。所述第一应用可由设备100、操作系统制造商或第三方提供。基于此,在步骤202中,检测到所述第一应用在后台执行时对所述第一硬件资源的访问尝试。并根据所述检测,获取所述移动设备100的第一操作模式,其中,所述第一操作模式包括所述移动设备是处于锁定状态还是解锁状态的指示;在步骤203中,确定多个策略中是否有策略向所述第一应用授予所述第一操作模式期间对所述第一硬件资源的访问权限;在步骤204中,如果存在合适的策略,则可以根据策略相应地执行操作,如果不存在这样的策略,则提供通知,请求用户输入同意或拒绝所述第一应用对所述第一硬件资源的访问;在步骤205中,接收响应所述通知的用户输入,当对所述通知的响应是拒绝访问时,在步骤206中将阻止所述第一应用的访问尝试,否则,在步骤207中,正确执行所述第一应用,然后在步骤208中,根据所述用户输入,在所述多个策略中添加新策略,同意或拒绝所述第一应用在所述第一操作模式期间对所述第一硬件资源的访问。
图3示出了本发明实施例的资源管理系统,包括与网络302交互的一个或多个移动设备301、304、305。例如,网络302可以为云服务器。可以通过移动设备301、304、305与网络302的交互来应用本发明的各种实施例。
策略sp1可以从网络302加载到移动设备301。例如,sp1可以为大多数人已经认可的策略,或者是通过现有的对应用功用进行乐观选择的算法计算出来的策略。可以提供指定的可疑场景(suspiciousscenario,sss)学习系统303,用于计算所述策略sp1。sss学习系统303可以定期向网络302提供更新的策略。sss学习系统303从各个设备,如301、304、305,接收用户偏好数据或应用使用的结果。sss学习系统303可以为网络302中的网元,也可以从网络302单独配置。数据库306可用于存储用户反馈数据。
策略sp1的计算可以是对各个设备301、304和305收集的大数据进行偏好模式分析的过程,例如从大数据中计算出最优策略。该分析可以基于多个用户的偏好、一组工程师知晓的安全或不安全的软件知识、向用户呈现的最有效方式等。所有sss策略文件可以储存在数据库306中的一个xml文件或多个xml文件中。
移动设备301、304、305可以定期地将其最新的策略sp2上传到网络302或学习系统303。上传周期可以是每天或每隔几天,也可以由移动设备301、304、305设置。
策略可包括一个或多个策略文件。策略或策略文件可包括表明特定情况下策略是什么的一条或多条记录。网络302可以根据从各个设备301、304、305收集的各种sss报告来更新默认sss策略文件,然后将更新的默认sss策略文件分发给各个设备301、304、305。默认sss策略文件可以为上述的策略sp1。更新后的默认sss策略文件在下文中可定义为策略sp3。云服务器303可以将策略sp3加载到各种设备301、304、305。一旦各个设备301、304、305接收到策略sp3,就可以用sp3替换设备本地的策略sp1。
策略文件可以由各个设备301、304、305的检测器或各个设备301、304、305上的程序读取或检测。检测器311可以耦接到应用编程接口(applicationprogramminginterface,api)。检测器311可以通过api与各个设备301、304和305的执行器313通信,以根据策略文件进行执行。检测器311和执行器313可以为设备301、304、305上运行的单个程序或分散的多个程序。
用于检测sss策略文件的检测器311或程序可以定义为作为后台进程运行的计算机程序,或者由交互式用户直接控制的程序。在不同环境中,在不同环境中,该程序可以命名为,例如,守护程式、守护进程、守护程序(daemonprogram,dp)、幽灵作业、服务、启动的任务等。
守护进程的父进程经常但不一定总是初始化(init)进程。通常,守护进程由进程创建,该进程派生子进程后立即退出,使得init采用该子进程,或者守护进程由init进程直接启动。另外,通过派生和退出来启动的守护进程通常可以执行其他操作,例如解除进程与任一控制终端的关联。这些过程经常在各种方便的例程中实现,如
系统通常在引导时启动守护程序,各守护程序将响应网络请求、硬件资源活动或其他程序。守护进程也可以在预定的时间执行设定的任务。
守护程序(daemonprogram,dp)可以为始终运行的程序,它不需要调用某个操作系统,如
守护程序可以监视设备的所有资源,如麦克风、相机、屏幕等。守护程序可以为用户界面(userinterface,ui)的一部分。
守护程序可以为主动检测器,可以不需要由操作系统的其他程序特别触发。与主动探测器相反,被动检测器可以保持睡眠或待机状态,需要被事件或程序等触发才能运行。
本发明的实施例提供了一种移动电子设备,所述移动电子设备作为例证说明上述管理硬件资源访问的方法。所述设备的检测器用于将第一sss策略文件(sp1)加载到设备,并监听软件和/或硬件组件的活动。sp1可由移动设备的制造商,或运营移动网络的运营商,或操作系统运营商预定义,或者sp1也可以从云服务器加载。第二sss策略文件(sp2)可以为本地sss策略,它可以创建用户通过该设备做出的偏好选择的记录。可以将移动设备配置为首选用户配置,例如sp2优先于sp1。
如上所述,检测器可以为第一程序,例如守护程序(daemonprogram,dp)。当系统活动发生变化时,dp可以检测并确定是否找到sss策略控制。例如,是否是在设置的执行时间,以及变化是什么。如果没有找到sss策略,则dp可以不做任何处理。如果找到sss策略,则dp可以继续查询第二个程序。第二程序可以为apk程序,它是用安卓操作系统、或java格式、或达到类似目的的任何其他格式编写的程序。
图4示出了本发明实施例的用于访问移动电子设备的硬件资源的由计算机实现的技术的示例流程图。
在步骤401中,应用尝试访问系统资源,如硬件资源。
在步骤402中,dp要求apk程序在移动设备的屏幕上发布授权消息。
在步骤402’中,确定是否授予设定sss策略(sp1)下的进程运行权限。
在步骤403中,如果没有找到sss策略,则dp可以不做任何处理。或者,在未授予运行权限时,禁止应用执行操作。
在步骤404中,当授予运行权限时,将“应用 找到的sss策略”组合列入白名单作为sss策略的记录,并保存所述策略,为其设定有效期限(expirationdate,ed)。白名单可以为提供特定权限、服务、移动性、访问权或认可的名单。名单上的活动是被接受、批准和/或认可的。黑名单则与白名单相反。黑名单上的活动是被拒绝、不被认可或被排斥的。
在步骤405中,可以在策略sp2中创建包括以下数据的记录:
s40、应用 硬件→sss策略
s41、期限设置→学习系统
可以将s40或s41等类似组合称为用户授权组合(userpermittedcombination,upc)或用户组合(usercombination,uc),可以将其定义为上述“应用 找到的sss策略”等的范例,每个upc都设有有效期限(expirationdate,ed)。
upc到期时,dp可以弹出对话或消息等,再次向用户请求该upc的权限,dp可以触发音频等向用户推送提示消息。如果再次得到授权,ed也会更新。由于权限被再次确认,权限的有效期(permissionduration,pd)得以延长。pd可以定义为权限周期,如一周、一个月、永远等。如果没有得到授权,该upc可能会被撤销。
在步骤405'中,当检测到存在sp2时,则如步骤404所述用所述记录更新sp2。
可以每次通过用户的选择来收集用户的偏好。
在步骤406中,可以用步骤404所述的列入白名单的组合来更新sp1。
提供了一种移动电子设备,作为例证说明本发明实施例所述的方案。
图5示出了本发明实施例的移动电子设备500的组件的框图。所述设备500用于执行上述的实施例。所述设备500包括存储器501、处理器502、外围接口503、存储器控制器504、图形处理单元(graphicsprocessingunit,gpu)505和一个或多个传感器506。所述处理器也可与功能限制模块507、激活模块508和中央处理单元(centralprocessingunit,cpu)509耦接。所述cpu也可以耦接到所述外围接口503。所述设备还可以包括射频(radiofrequency,rf)电路521,所述rf电路521可以包括wi-fi接口和/或蓝牙接口。所述设备500还可以包括一个或多个外部端口522,以及音频电路523,所述音频电路523还可与一个或多个扬声器525和/或麦克风526相连接。所述设备还可以包括与外围接口503耦接的屏幕524。这些组件通过一个或多个通信总线或信号线进行通信。例如,移动电子设备500可以为掌上电脑、平板电脑、移动电话、媒体播放器或个人数字助理(personaldigitalassistant,pda)。图5所示的各种组件可以用硬件资源或硬件资源和软件资源的组合来实现,如一个或多个信号处理和/或专用应用集成电路。
在本发明的其他实施例中,所述存储器501可以包括远离移动电子设备500的存储,如互联网、内联网、局域网(localareanetwork,lan)、广域网(widelocalareanetwork,wlan)、存储区域网络(storageareanetwork,san)等,或其任意合适的组合。
所述外围接口503将设备500的输入和输出外围设备耦接到cpu509、gpu505和存储器501。cpu509运行存储器501中存储的各种软件程序和/或指令集,以执行移动电子设备500的各种功能并处理数据。gpu505负责屏幕524的图形处理功能。在一些实施例中,图形处理功能由cpu509处理,因此可以不要gpu505。
所述外部端口522用于直接或通过网络远程耦接到其他设备。例如,外部端口522可包括通用串行总线(universalserialbus,usb)、火线接口以及用于接收外部存储介质的存储器插槽等。
rf(射频)电路521收发rf信号,rf信号也可以称为电磁信号。rf电路521将电信号转换为电磁信号或将电磁信号转换为电信号,并通过电磁信号与通信网络和其他通信设备通信。rf电路521包括用于执行这些功能的公知电路,包括但不限于天线系统、rf收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、codec芯片组、用户身份模块(subscriberidentitymodule,sim)卡、存储器等。rf电路521可以通过无线通信与网络及其他设备通信,所述网络包括互联网、内联网和/或无线网络,例如蜂窝电话网、无线局域网(localareanetwork,lan)和/或城域网(metropolitanareanetwork,man)。无线通信网络可以使用多种通信标准、协议和技术中的任意一种,包括但不限于全球移动通信系统(globalsystemformobilecommunications,gsm)、增强型数据gsm环境(enhanceddatagsmenvironment,edge)、高速下行链路分组接入(high-speeddownlinkpacketaccess,hsdpa)、高速上行链路分组接入(high-speeduplinkpacketaccess,hsupa)、宽带码分多址(widebandcodedivisionmultipleaccess,w-cdma)、码分多址(codedivisionmultipleaccess,cdma)、时分多址(timedivisionmultipleaccess,tdma)、蓝牙、无线保真(wirelessfidelity,wi-fi)(如ieee802.11a、ieee802.11b、ieee802.11g和/或ieee802.11n)、基于ip的语音传输(voiceoverinternetprotocol,voip)、wi-max或任何其他合适的通信协议。
音频电路523与一个或多个扬声器525和麦克风526连接。这些组件一起在用户和移动电子设备500之间提供音频接口。音频电路523从外围接口503接收音频数据,将音频数据转换为电信号,然后将电信号发送至扬声器525。所述扬声器525将电信号转换为人类可以听见的声波。所述音频电路190也接收由麦克风526从声波转换的电信号。所述音频电路523将电信号转换为音频数据,并将音频数据发送至外围接口503进行处理。音频数据可以由外围接口503从存储器501和/或rf电路521取得和/或发送至存储器501和/或rf电路521。
屏幕524可以为触摸屏或折叠屏,在设备和用户之间同时提供了输出接口和输入接口。屏幕524向用户显示包括文本、图形、视频及其任意组合的视觉输出。部分或全部视觉输出可对应于用户界面对象。以下对用户界面对象进行详细说明。屏幕524可以使用lcd(液晶显示器)技术或其他已知的显示技术。屏幕524还基于触觉和/或触觉接触接受用户的输入。
储存在存储器501中的操作系统510(如安卓,rtxc,linux,
sss策略包括可以通过移动电子设备的api传达到移动电子设备的处理器的一个或多个应用。运行期间,可以不时地预置或改进sss策略。
在计算机编程中,api是用于构建应用软件的一组子例程定义、协议和工具。一般来说,它是各软件组件之间明确定义的一组通信方法。api可用于基于web的系统、操作系统、数据库系统和计算机硬件或软件库。api规范可以采用多种形式,但通常包括例程、数据结构、对象类、变量或远程调用等的规范。posix、微软windowsapi、c 标准模板库和javaapi为不同形式的api的示例。通常提供api的文档以便于使用。
例如,图形库中的一组api定义了如何绘制指针以及指针如何在图形输出设备上显示。当应用需要指针函数时,可以引用它来链接到这组api。
api可以指定应用和操作系统之间的接口。例如,posix指定了一组通用api,旨在使为一个符合posix标准的操作系统编写的应用能够为另一个符合posix标准的操作系统进行编译。例如,采用posixapi的操作系统有linux和伯克利软件套件(berkeleysoftwaredistribution)。
远程api允许开发人员通过协议来操纵远程资源,协议是特定的通信标准,这些通信标准使得不同技术之间可以协同合作,而不论其语言或平台。例如,java数据库连接(javadatabaseconnectivity)api允许开发人员用相同的函数集查询多种不同类型的数据库,而java远程方法调用api使用java远程方法协议来实现远程运行的函数的调用,这些在远程运行的函数对开发人员看来就像是本地的函数。因此,远程api有助于维护面向对象编程中的对象抽象;在代理对象本地执行的方法调用通过远程协议调用远程对象上的相应方法,并获取将在本地使用的结果作为返回值。对代理对象的修改也将导致对远程对象的相应修改。
webapi为定义的接口,企业与使用其资产的应用之间通过这些接口进行交互。api方式是一种架构性方式,其核心是向服务于不同类型的消费者的不同应用提供接入一组服务的可编程接口。当用于web开发场景时,api通常被定义为一组超文本传输协议(hypertexttransferprotocol,http)请求消息,同时还定义了各响应消息的结构,消息格式通常为可扩展标记语言(extensiblemarkuplanguage,xml)或javascript对象表示(javascriptobjectnotation,json)格式。例如,可以将航运公司api添加到以电子商务为中心的网站,以便订购运输服务并自动包括当前运输费率,网站开发人员不必将承运人的费率表输入web数据库中。虽然“webapi”在历史上几乎已成为网络服务的代名词,但最近的趋势(所谓的web2.0)已经从基于简单对象访问协议(simpleobjectaccessprotocol,soap)的网络服务和面向服务的体系结构(service-orientedarchitecture,soa)转向更直接的表述性状态转移(representationalstatetransfer,rest)样式的网络资源和面向资源的体系结构(resource-orientedarchitecture,roa)。这一趋势一部分涉及向着资源描述框架(resourcedescriptionframework,rdf)发展的语义网(semanticweb)运动,其中rdf是为促进基于web的本体工程技术而提出的概念。webapi可以实现将多个api组合到称为混聚的新应用中。在社交媒体领域,webapi使得网络社区能实现在社区和应用之间共享内容和数据。这样,可以将在一个网络位置创建的内容动态发布和更新到在网络的多个位置。
尽管对本发明的说明参照了本发明的具体特征和实施例,但是应当理解的是,本发明的具体特征和实施例可以在不脱离本发明的精神和范围的情况下如下列权利要求书所定义的进行多种修改和替换。
1.一种管理移动设备上的硬件资源访问的方法,其特征在于,所述方法包括:
接收第一用户输入,所述第一用户输入为向所述移动设备上的第一应用授予对所述移动设备的第一硬件资源的访问权限,根据所述第一用户输入向所述第一应用授予对所述第一硬件资源的访问权限;
在向所述第一应用授予对所述第一硬件资源的访问权限后,检测到所述第一应用在后台执行时对所述第一硬件资源的访问尝试,并根据所述检测:
获取所述移动设备的第一操作模式,其中,所述第一操作模式包括移动设备是处于锁定状态还是解锁状态的指示;
确定多个策略中没有策略向所述第一应用授予在所述第一操作模式期间对所述第一硬件的访问权限;
根据所述确定,提供用户输入请求通知,请求用户同意或拒绝所述第一应用对所述第一硬件资源的访问;
接收响应所述通知的第二用户输入;以及
根据所述第二用户输入,在所述多个策略中添加新策略,以同意或拒绝所述第一应用在所述第一操作模式期间对所述第一硬件资源的访问。
2.根据权利要求1所述的方法,其特征在于,所述第二用户输入为同意对所述第一硬件资源的访问,所述方法还包括向所述第一应用授予对所述第一硬件资源的访问权限。
3.根据权利要求1所述的方法,其特征在于,所述第二用户输入为拒绝对所述第一硬件资源的访问,所述方法还包括拒绝向所述第一应用授予对所述第一硬件资源的访问权限。
4.根据权利要求1所述的方法,其特征在于,所述第一硬件资源包括麦克风输入、相机输入、触摸屏输入、键盘输入、显示输出、触觉输出、移动设备位置信息或接近传感器读数。
5.根据权利要求4所述的方法,其特征在于,所述相机输入为从红外相机输入。
6.根据权利要求1所述的方法,其特征在于,还包括:从服务器接收所述多个策略,以及将所述新策略发送至所述服务器。
7.根据权利要求1所述的方法,其特征在于,提供用户输入请求通知,请求用户同意或拒绝访问,包括:在所述移动设备的显示器上提供图形用户界面,或者通过所述移动设备的音频输出提供自然语言消息。
8.根据权利要求1所述的方法,其特征在于,所述操作模式还包括以下一项或多项信息:安装于所述移动设备上的一个或多个其他应用的指示、当前在所述移动设备上执行的一个或多个其他应用的指示、或所述移动设备的当前位置。
9.根据权利要求1所述的方法,其特征在于,还包括:
确定,在将所述新策略添加到所述多个策略中后,已过了一段时间,并根据所述确定,从所述多个策略中移除所述新策略。
10.一种移动电子设备,其特征在于,包括:
用于显示图形信息的屏幕;
存储指令的存储器;以及
与所述存储器和所述屏幕通信的一个或多个处理器,其中,所述一个或多个处理器用于执行所述指令以:
接收第一用户输入,所述第一用户输入为向所述移动设备上的第一应用授予对所述移动设备的第一硬件资源的访问权限,根据所述第一用户输入向所述第一应用授予对所述第一硬件资源的访问权限;
在向所述第一应用授予对所述第一硬件资源的访问权限后,检测到所述第一应用在后台执行时对所述第一硬件资源的访问尝试,并根据所述检测:
获取所述移动设备的第一操作模式,其中,所述第一操作模式包括移动设备是处于锁定状态还是解锁状态的指示;
确定多个策略中没有策略向所述第一应用授予在所述第一操作模式期间对所述第一硬件的访问权限;
根据所述确定,提供用户输入请求通知,请求用户同意或拒绝所述第一应用对所述第一硬件资源的访问;
接收响应所述通知的第二用户输入;以及
根据所述第二用户输入,在所述多个策略中添加新策略,以同意或拒绝所述第一应用在所述第一操作模式期间对所述第一硬件资源的访问。
11.根据权利要求10所述的设备,其特征在于,所述第二用户输入为同意对所述第一硬件资源的访问,所述一个或多个处理器用于向所述第一应用授予对所述第一硬件资源的访问权限。
12.根据权利要求10所述的设备,其特征在于,所述第二用户输入为拒绝对所述第一硬件资源的访问,所述一个或多个处理器用于拒绝向所述第一应用授予对所述第一硬件资源的访问权限。
13.根据权利要求10所述的设备,其特征在于,所述第一硬件资源包括麦克风输入、相机输入、触摸屏输入、显示输出、触觉输出、移动设备位置信息或接近传感器读数。
14.根据权利要求14所述的设备,其特征在于,所述相机输入为从红外相机输入。
15.根据权利要求10所述的设备,其特征在于,还包括:所述一个或多个处理器用于从服务器接收所述多个策略,以及将所述新策略发送至所述服务器。
16.根据权利要求10所述的设备,其特征在于,提供用户输入请求通知,请求用户同意或拒绝访问,包括:在所述移动设备的显示器上提供图形用户界面,或者通过所述移动设备的音频输出提供自然语言消息。
17.根据权利要求10所述的设备,其特征在于,所述操作模式还包括以下一项或多项信息:安装于所述移动设备上的一个或多个其他应用的指示、当前在所述移动设备上执行的一个或多个其他应用的指示、或所述移动设备的当前位置。
18.根据权利要求10所述的设备,其特征在于,还包括:所述一个或多个处理器用于确定,在将所述新策略添加到所述多个策略中后,已过了一段时间,并根据所述确定,从所述多个策略中移除所述新策略。
技术总结