本申请要求于2013年09月25日提交中国专利局、申请号为201310445161.7、发明名称为“用于视窗操作系统中应用程序磁贴的生成方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
发明内容
本发明提供一种用于视窗操作系统中应用程序磁贴的生成方法,以解决现有的视窗操作系统中应用程序磁贴的生成方法的上述问题。本发明另外提供用于视窗操作系统中应用程序磁贴的生成装置。
本发明的提供一种用于视窗操作系统中应用程序磁贴的生成方法,包括:
通过系统的接口函数获取系统中应用程序的启动对应项;所述启动对应项能够触发相应的应用程序启动运行;所述启动对应项至少包括:应用程序身份识别信息或者应用程序统一资源标识符;所述应用程序统一资源标识符是发行者提供的为应用程序启动运行所设置的协议名称;所述通过系统的接口函数获取应用程序的启动对应项,具体包括:建立应用程序与相应的应用程序统一资源标识符的对应数据库,每一例应用程序与相应的应用程序统一资源标识符即为该数据库中的一数据记录;将所述数据库设置于服务器端;
根据所述启动对应项生成与之对应的磁贴,并将所述磁贴固定到开始屏幕;其中,所述磁贴与所述应用程序相关联,所述磁贴的主题能更改;所述根据所述启动对应项生成与之对应的磁贴具体包括:根据所述应用程序的包括应用程序身份识别信息或者应用程序统一资源标识符在内的启动对应项以及应用程序的相应其它参数、背景、文字生成磁贴对象,然后将所述生成的磁贴对象映射到磁贴图块。
可选的,所述应用程序的启动对应项为应用程序身份识别信息;
所述获取系统中应用程序的启动对应项包括:
扫描系统应用程序列表,获取系统安装的所有应用程序;
遍历获取的所有应用程序,获取待生成磁贴的应用程序;
获得所述待生成磁贴的应用程序的特征信息;
由所述特征信息中识别该应用程序身份识别信息作为启动对应项。
可选的,所述应用程序的启动对应项为应用程序身份识别信息;
所述获取系统中应用程序的启动对应项包括:
扫描系统应用程序列表,获取系统安装的所有应用程序,
获得所有应用程序的特征信息;
在所述所有应用程序的特征信息中获取待生成磁贴的应用程序的身份识别信息,作为启动对应项。
可选的,所述获取应用程序的特征信息包括:
通过系统的接口函数获取应用程序的特征信息。
可选的,所述接口函数为:
IIteralbe<package>[C++]system.collections.Generic.IEnumberable<package>
可选的,所述特征信息至少包括应用程序的身份识别信息。
可选的,所述特征信息还包括应用程序的标示信息以及开发者信息、版本信息、说明信息、是否为试用版信息、发布者信息以及标题信息中的一种或多种。
可选的,所述应用程序参数包括应用程序文件路径、应用程序名称、应用程序启动对应项类型以及触发动作类型。
可选的,所述应用程序的启动对应项为应用程序统一资源标识符;
所述方法还包括:
建立所述应用程序统一资源标识符与相应应用程序的启动接口函数之间的映射关系。
此外,本发明还提供一种用于视窗操作系统中应用程序磁贴的生成装置,包括:
获取单元,用于通过系统的接口函数获取系统中应用程序的启动对应项;所述启动对应项能够触发相应的应用程序启动运行,所述启动对应项至少包括:应用程序身份识别信息或者应用程序统一资源标识符;所述应用程序统一资源标识符是发行者提供的为应用程序启动运行所设置的协议名称;所述通过系统的接口函数获取系统中应用程序的启动对应项具体包括:建立应用程序与相应的应用程序统一资源标识符的对应数据库,每一例应用程序与相应的应用程序统一资源标识符即为该数据库中的一数据记录;将所述数据库设置于服务器端;
生成显示单元,用于根据所述启动对应项生成与之对应的磁贴,并将所述磁贴固定到开始屏幕;其中,所述磁贴与所述应用程序相关联,所述磁贴的主题能更改;
所述生成显示单元具体包括:对象生成单元,用于根据所述应用程序的包括应用程序身份识别信息或者应用程序统一资源标识符在内的启动对应项以及应用程序参数、背景、文字生成磁贴对象;和,映射单元,用于将所述生成的磁贴对象映射到磁贴图块。
可选的,所述获取单元,具体用于获取系统中应用程序的身份识别信息;
所述获取单元包括:
扫描单元,用于扫描系统应用程序列表,获取系统安装的所有应用程序,
遍历单元,用于遍历获取的所有应用程序;获取待生成磁贴的应用程序;
特征信息获取单元,用于获得所述待生成磁贴的应用程序的特征信息;
识别单元,用于由所述特征信息中识别该应用程序身份识别信息作为启动对应项。
可选的,所述获取单元,具体用于获取系统中应用程序的身份识别信息;
所述获取单元包括:
扫描单元,用于扫描系统应用程序列表,获取系统安装的所有应用程序,
特征信息获取单元,用于获得所有应用程序的特征信息;
识别单元,用于在所述所有应用程序的特征信息中获取待生成磁贴的应用程序的身份识别信息,作为启动对应项。
可选的,所述特征信息获取单元,具体用于通过系统的接口函数获取应用程序的特征信息。
可选的,所述特征信息获取单元,具体用于通过系统的接口函数获取应用程序的身份识别信息。
可选的,所述获取单元,具体用于获取系统中应用程序的统一资源标识符;
所述装置还包括:
映射单元,用于建立所述应用程序统一资源标识符与相应应用程序的启动接口函数之间的映射关系。
与现有技术相比,本发明具有以下优点:本申请提供的用于视窗操作系统中应用程序磁贴的生成方法和装置,通过启动对应项实现磁贴与App的关联,通过将补贴磁贴与启动对应项的对应,即可实现更换App于开始屏幕磁贴的目的;实现了磁贴主题的自由更改。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
在下面的实施例中,以在移动端的WP作为具体的例子来对本申请的视窗操作系统中应用程序磁贴的生成方法及装置进行描述,但是本领域技术技术人员应当立即,由于Window 8操作系统也为具有磁贴显示的Metro界面,本申请的方法及装置也能能够应用于Window 8操作系统中。此外,本申请中不区分WP系统和Window8系统的系统版本,本申请的方法可以应用于该系列所有版本中。
首先结合附图对本申请的视窗操作系统中应用程序磁贴的生成方法进行描述。本发明的方法包括,首先获取系统中应用程序的启动对应项,接着根据所述启动对应项生成与之对应的磁贴,然后将所述磁贴固定到开始屏幕上。本申请的方法通过建立应用程序的启动对应项于屏幕磁贴之间的关系的方法,生成应用程序的磁贴,从而在触发该磁贴时,通过该启动对应项启动相应的应用程序。下面进行详述。
请参考图1,其为本申请的用于视窗操作系统中应用程序磁贴的生成方法的实施例的流程图。
步骤100,获取系统中应用程序的启动对应项。
在WP系统中,可以安装多种应用程序,例如,微信、微博、移动QQ等。每一应用程序在安装于系统之后,需要在系统的开始屏幕生成相应的磁贴。本实施例中,首先获取系统中应用程序的启动对应项。其中,本实施例中所述的启动对应项为能够触发该应用程序运行的特征信息。
在其中的一个具体的例子中,所述启动对应项为所述应用程序的身份识别信息(AppID)。所述获取系统中应用程序的启动对应项具体如下:扫描系统应用程序列表,获取系统安装的所有应用程序;遍历获取的所有应用程序,获取待生成磁贴的应用程序;获得所述待生成磁贴的应用程序的特征信息;由所述特征信息中识别该应用程序身份识别信息作为启动对应项。具体而言,可以通过扫描系统的注册表或者遍历其内存块获取系统安装的应用程序列表或者系统的应用程序列表以及游戏列表中获取安装的应用程序;接着由所述应用程序列表中获取待生成磁贴的应用程序;当然,如果能够直接获取待生成磁贴的应用程序,则不必通过上述方式获取。然后,获取所述待生成磁贴的应用程序的特征信息;众所周知,对于每个WP应用程序,在安装于系统后,都有识别以及标示该应用程序的特征信息;所述特征信息包括应用程序的AppID、开发者信息、版本信息、说明信息、是否为试用版信息、发布者信息以及标题信息等等。本实施例中,获取所述待生成磁贴的应用程序的特征信息中至少应包括AppID,其它类别信息也可以同时获取,但不是必须的。
在本申请的实施例中,可以通过系统的接口函数获取应用程序的特征信息,其中所述接口函数具体为:
IIteralbe<package>[C++]system.collections.Generic.IEnumberable<package>
通过所述的IIterable接口可访问系统安装的App,配合IEnumberable函数枚举,可遍历系统的所有从而获取系统的所有App以及其特征信息,由获取的特征信息中获取相应App的AppID。其中IEnumberable函数具体使用格式如下:
Public static IEnumberable<package>Find packages()
获取应用程序的AppID之后,将其作为所述的系统启动项,也就是说,WP系统可以通过该AppID作为触发启动相应的App运行。这是由WP系统本身提供的接口以及与App启动运行协议所决定的
在上面的叙述中,提供了一种获取系统中应用程序的AppID作为启动对应项的具体例子,其还可以通过如下方式所获取:所述获取系统中应用程序的启动对应项包括:扫描系统应用程序列表,获取系统安装的所有应用程序,获得所有应用程序的特征信息;在所述所有应用程序的特征信息中获取待生成磁贴的应用程序的身份识别信息,作为启动对应项。其中的获取程序列表以及获取系统应用程序的特征信息的方式可以与上述相同,这里不再赘述。
在另外的一个具体的例子中,所述启动对应项为所述应用程序的统一资源标示符(Uri),其中,所述Uri为应用程序安装于系统后为App启动运行所设置的协议名称,该Uri一方面可以通过相应应用程序的发行者提供,另一方面也可以解析应用程序安装于系统的文件所获得。无论通过哪种方式获得的应用程序的Uri,在触发条件满足的条件下,均可以通过该Uri启动该应用程序使其在系统中运行。可以建立WP应用程序与相应的Uri的对应数据库,每一例WP应用程序与相应Uri即为该数据库中的一数据记录;将该数据库设置于服务器端,终端设备也可以通过访问服务器端的数据库中的数据记录获得App的Uri。
当然,所述启动对应项还可以是应用程序的其它特征信息,这里不再一一列举。
步骤S110,根据所述启动对应项生成与之对应的磁贴,并将所述磁贴固定于开始屏幕。
如前所述,所述的启动对应项能够触发相应的应用程序启动运行。若建立开始桌面磁贴与该启动对应项的对应关系,则通过点击、长按或触摸等动作于该磁贴时,则通过与该磁贴对应的启动对应项,可实现对应用程序的启动。故本步骤中生成与所述启动对应项对应的磁贴。
在其中的一个例子中,所述根据所述启动对应项生成与之对应的磁贴包括:根据所述应用程序的启动对应项以及应用程序的相应其它参数、背景、文字生成磁贴对象,然后将所述生成的磁贴对象映射到磁贴图块。具体而言,将所述包括AppID或Uri在内的启动对应项、应用程序参数、背景、文字等打包为磁贴对象,接着,选取磁贴图块并建立其余磁贴对象之间的映射关系。所述映射关系具体为在磁贴图块在接受点击、长按或触摸等动作时,通过解析磁贴对象或者直接由磁贴对象中获取相应的启动对应项,并通过该启动对应项启动相应的App。
以所述启动对应项为统一资源识别符,所述应用程序为微信为例,将该磁贴设置于开始屏幕的实现方式如下:
其中,所述微信的LaunchUri是wechat:LaunchWechat?target=MainPage
执行这个方法后,桌面就会有一个磁贴。用户点击这个磁贴首先会进入选桌面一个页面,通过解析这个磁贴传过来的参数得到要启动的LaunchUri,然后通过如下方式启动微信:
Windows.System.Launcher.LaunchUriAsync(new Uri(NavigationContext.QueryString["LaunchUri"],UriKind.RelativeOrAbsolute))。
上述的实施例中,提供了一种用于视窗操作系统中应用程序磁贴的生成方法,可以理解,该方法也可以用于在现有wp系统中实现对磁贴主题的修改,例如,对于通过上述实施例的方法生成的磁贴,仅仅需要改变与启动对应项相对应的磁贴即可,例如原来是磁贴1与相应的启动对应项相关联,改变后以磁贴2代替磁贴1与启动对应项相关联,即实现了磁贴主题的自由更改。
与之相应的,本申请还提供一种与所述用于视窗操作系统中应用程序磁贴的生成方法相对应的装置。请参看图2,其为本申请一种用于视窗操作系统中应用程序磁贴的生成装置的实施例示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例中,用于视窗操作系统中应用程序磁贴的生成装置,包括:
获取单元200,用于获取系统中应用程序的启动对应项;
生成显示单元210,用于根据所述启动对应项生成与之对应的磁贴,并将所述磁贴固定到开始屏幕。
可选的,所述获取单元,具体用于获取系统中应用程序的身份识别信息或者统一资源标识符。
可选的,所述获取单元,具体用于获取系统中应用程序的身份识别信息;所述获取单元包括:扫描单元,用于扫描系统应用程序列表,获取系统安装的所有应用程序,遍历单元,用于遍历获取的所有应用程序;获取待生成磁贴的应用程序;特征信息获取单元,用于获得所述待生成磁贴的应用程序的特征信息;识别单元,用于由所述特征信息中识别该应用程序身份识别信息作为启动对应项。
可选的,所述获取单元,具体用于获取系统中应用程序的身份识别信息;
所述获取单元包括:扫描单元,用于扫描系统应用程序列表,获取系统安装的所有应用程序,特征信息获取单元,用于获得所有应用程序的特征信息;识别单元,用于在所述所有应用程序的特征信息中获取待生成磁贴的应用程序的身份识别信息,作为启动对应项。
可选的,所述特征信息获取单元,具体用于通过系统的接口函数获取应用程序的特征信息。
可选的,所述特征信息获取单元,具体用于通过系统的接口函数获取应用程序的身份识别信息。
可选的,所述生成显示单元具体包括:对象生成单元,用于根据所述应用程序的启动对应项以及应用程序参数、背景、文字生成磁贴对象,映射单元,用于将所述生成的磁贴对象映射到磁贴图块。
可选的,所述获取单元,具体用于获取系统中应用程序的统一资源标识符;
所述装置还包括:映射单元,用于建立所述应用程序统一资源标识符与相应应用程序的启动接口函数之间的映射关系。
本申请可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的用于更新索引数据库装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。