动态修改应用启动图标的方法、消息的发送方法、终端与流程

文档序号:14436936阅读:315来源:国知局
动态修改应用启动图标的方法、消息的发送方法、终端与流程

本发明涉及计算机技术领域,尤其涉及一种动态修改应用启动图标的方法、消息的发送方法、终端和服务器。



背景技术:

在微软的windows phone操作系统(WP7)手机中,“应用程序磁贴”是用户通过按住应用程序列表中的某个应用程序图标将该应用程序固定到“开始”屏幕时创建的磁贴。点按固定的应用程序磁贴会将用户导航到应用程序的打开页面。

从Windows Phone OS 7.1开始,磁贴变为双面,可以在正面和背面之间翻转来显示信息。

磁贴的正面有三个属性内容,如图1所示,具体为:1.标题,应用程序的字符串;2.背景图片,显示在磁贴上的图像;3.计数值,用来进行数字提示。

磁贴的背面(即反面)也有三个属性内容,如图2所示,具体为:1.背面标题,背面字符串,较短;2.背面背景图像,显示在背面的图像;3.背面内容,显示在磁贴背面中心的内容字符串。

WP7的磁贴正反面的六个属性是分开的,可以单独拥有正面三个属性或者仅有正面背景图片的属性。当正反面都设置了属性的时候,磁贴会定时正反面翻转。

其中,正面和背面的背景图片可以使用存在本地独立存储空间的图片,也可以是网络访问的图片,图片大小在使用时会被拉伸到173x173像素。

远程图像大于80k或者下载时间长于30秒都不会下载成功。

但是在安卓(Android)手机上,由于系统的差异,Android手机没有从底层对这一功能进行支持,所以在Android手机上,磁贴的功能并未出现,无法通过磁贴机制来更改图标以达到显示信息的目的。

Android手机上的窗口小部件(Android widget)是一个运行在Android桌面上的很小的应用程序,可以在用户的指定桌面空间来显示应用提供的自定义的内容,类似PC上的桌面小工具。

Widget是Android 1.5以后加入的一个特性,允许程序显示一些常用而又重要的信息在用户的主(Home)界面(即桌面主屏)上。

简单的说就是有两点:一是可以添加到主屏上;二是按照一定的时间进行内容的更新。以上两点就是由android系统中的框架(AppWidgetFramework)来支持完成的。

从Widget来看,虽然Widget的更新机制有很多种,可以定时更新,接收广播更新,或者直接修改Widget,但这都是对Widget自身而言,面对如今应用市场中大部分已存在的非Widget程序,起不了作用。

而Android手机上的很大一部分程序不是Widget程序。

关于WP7的磁贴技术,由于系统不同,Android手机没有从底层对这一功能进行支持,所以在Android手机上,磁贴的功能并未出现,我们无法通过磁贴机制更改图标以达到向用户展示信息的目的,本发明要解决的就是在Android上实现类似WP7上的磁贴功能。



技术实现要素:

本发明实施例提供了一种动态修改应用启动图标的方法、消息的发送方法、终端和服务器,以解决在Android手机上实现类似WP7上的磁贴功能。

本发明实施例提供了一种动态修改应用启动图标的方法,该方法包括:

终端获得来自服务器的命令,解析所述命令获得应用包名称、新图标路径和新图标上的文字描述;

所述终端根据所述新图标路径和所述文字描述创建新的图标;

所述终端使用所述新的图标在主界面创建与所述应用包名称对应的应用的启动图标;以及

所述终端通过交替更换所述启动图标来实现磁贴的定时翻转功能。

优选地,所述终端获得来自服务器的命令包括:

所述终端接收所述服务器通过消息推送的命令;或者

所述终端向所述服务器发送请求消息,以及接收所述服务器根据所述请求消息返回的所述命令。

优选地,所述终端根据所述新图标路径和所述文字描述创建新的图标包括:

所述终端直接根据所述新图标路径创建新的图标;或者

所述终端根据所述新图标路径获得的新的图标,将所述新的图标转换为位图格式,并在转换后的图标上添加所述文字描述;或者

所述终端根据所述新图标路径从远程下载新的图标,将所述新的图标保存成本地图片后转换为位图格式,并在转换后的图标上添加所述文字描述。

优选地,所述终端使用所述新的图标在主界面创建与所述应用包名称对应的应用的启动图标,包括:

所述终端使用位图格式的新图标来更改所述应用包名称对应的应用或自身应用的启动图标。

优选地,所述终端通过交替更换所述启动图标来实现磁贴的定时翻转功能,包括:

通过创建定时任务执行所述启动图标的交替更换操作,来模拟所述磁贴正反面图标的翻转。

优选地,所述终端为安卓(Android)系统的终端。

本发明实施例还提供了一种消息的发送方法,该方法包括:

服务器向终端发送命令,所述命令中携带有待更改图标对应的应用包名称、新图标路径和新图标上的文字描述。

优选地,所述服务器向终端发送命令,包括:

所述服务器通过消息推送主动向所述终端发送所述命令;或者

所述服务器接收所述终端的请求,根据所述请求向所述终端发送所述命令。

优选地,所述终端为安卓(Android)系统的终端。

本发明实施例还提供了一种终端,该终端包括:

命令获得模块,用于获得来自服务器的命令,解析所述命令获得应用包名称、新图标路径和新图标上的文字描述;

第一创建模块,用于根据所述命令获得模块获得的所述新图标路径和所述文字描述创建新的图标;

第二创建模块,用于使用所述第一创建模块创建的所述新的图标在主界面创建与所述应用包名称对应的应用的启动图标;以及

更换模块,用于通过交替更换所述启动图标来实现磁贴的定时翻转功能。

优选地,所述命令获得模块,具体用于:接收所述服务器通过消息推送的命令;或者,向所述服务器发送请求消息,以及接收所述服务器根据所述请求消息返回的所述命令。

优选地,所述第一创建模块,具体用于:

直接根据所述新图标路径创建新的图标;或者

根据所述新图标路径获得的新的图标,将所述新的图标转换为位图格式,并在转换后的图标上添加所述文字描述;或者

根据所述新图标路径从远程下载新的图标,将所述新的图标保存成本地图片后转换为位图格式,并在转换后的图标上添加所述文字描述。

优选地,所述第二创建模块,具体用于:使用位图格式的新图标来更改所述应用包名称对应的应用或自身应用的启动图标。

优选地,所述更换模块,具体用于:通过创建定时任务执行所述启动图标的交替更换操作,来模拟所述磁贴正反面图标的翻转。

优选地,所述终端为安卓(Android)系统的终端。

本发明实施例还提供了一种服务器,该服务器包括:

发送模块,用于向终端发送命令,所述命令中携带有待更改图标对应的应用包名称、新图标路径和新图标上的文字描述。

优选地,所述发送模块,具体用于:

通过消息推送主动向所述终端发送所述命令;或者

接收所述终端的请求,根据所述请求向所述终端发送所述命令。

优选地,所述终端为安卓(Android)系统的终端。

本发明实施例,解决了在Android手机系统上不能动态地改变应用在Home界面的启动图标的问题,能够动态显示以提醒用户,同时弥补了使用Widget仅能针对单个应用的不足,能够同时修改多个应用的图标。

附图说明

图1为现有磁贴的正面示意图;

图2为现有磁贴的背面示意图;

图3为本发明动态修改图标的方法实施例的流程图;

图4为本发明终端实施例的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

本发明实施例通过对应用程序启动图标的修改,来达到在Android系统上实现WP7上的磁贴功能;通过在不同时刻展示出不一样的应用图标来向使用者透露应用相关信息。同时针对Widget使用形式固定,只能对单个应用使用的情况,实现了动态修改多个指定应用的磁贴功能。

本发明针对Android手机上的应用,在Android中用户和应用程序交互的窗口(Activity)、Android中的服务(Service)或者Android中进行过滤接受并响应通知的一类组件(BroadcastReceiver)中,通过代码修改Home界面的应用图标。

本发明实施例提供了一种消息的发送方法,该方法从服务器侧进行描述,该方法包括:

服务器向Android系统的终端发送命令,所述命令中携带有待更改图标对应的应用包名称、新图标路径和新图标上的文字描述。

其中,发送途径可以是消息推送例如http请求、广播、短信等方式,当然也可以由终端主动请求来获取。发送的内容主要包括待更改图标对应的应用包名称、新图标路径(本地路径或者是外部路径)和新图标上的文字描述等等。

对应地,本发明实施例还提供了一种动态修改图标的方法,该方法从终端侧进行描述,如图3所示,该方法包括:

步骤101、终端获得来自服务器的命令,解析所述命令获得应用包名称、新图标路径和新图标上的文字描述;

应用包名称:即PackageName,是应用创建的时候所定义的应用进程名称,与手机上的应用一一对应。应用包名称表示修改哪一个应用在Home界面的启动图标,新图标路径表示用什么图标来替代原先的旧图标;

步骤102、终端根据所述新图标路径和所述文字描述创建新的图标;

步骤102分为三种情况:

A、新图标为资源图片,这类图片在应用开发的时候就作为资源文件保存在程序包里面的图标文件,无需修改则直接使用;

B、新图标路径为本地路径,需要对图标进行转换成位图(Bitmap)类型的新图标(NewIcon),并进行修改,如存放在手机SD卡上的名为1.png的图片,对其进行文字描述的添加;

C、新图标路径为外部路径(网络路径),需要先进行下载,一般采用HTTP GET方式进行下载,然后保存到本地路径,如/sdcard/1.png,保存到本地路径后的操作和情况B一样;

步骤103、终端使用所述新的图标在主界面创建与所述应用包名称对应的应用的启动图标;

具体地,使用新的Bitmap在Home界面创建指定应用的启动图标;

步骤103也分为两种情况:

a、使用新的Bitmap来更改自身应用的启动图标;

这种情况比较简单,按照创建快捷方式小图标(ShotCut Icon)的方式来实现,如果原先的应用在Home界面已经存在启动图标,则需要先删除原先的应用图标;

b、使用新的Bitmap更改指定应用的启动图标;

删除操作和情况a是一样的,创建部分需要修改。

因为无法通过简单语句″mainIntent.setClass(this,this.getClass());″来获取和设置指定应用的启动Activity,需要通过查询获得指定应用要启动的Activity,并设置为ShortCut的启动Activity;

通常情况下,自身应用是指:执行创建启动图标代码的应用,指定应用是指:其它任意的带有Activity的应用;

步骤104、通过交替更换所述启动图标来实现磁贴的定时翻转功能。

具体方法为:通过创建定时任务执行图标的更换操作,来模拟正反面图标的翻转,更换间隔时间可根据需要设定。

该实施例中的终端可以为Android系统的终端,当然,也可以为其他系统的终端,例如兼容Android系统或Android系统的演进版本的终端。

采用上述方法,与现有技术相比,起到了在Android手机上实现类似WP7系统上的磁贴的功能,能够通过删除Home界面上旧图标,创建新图标的方式达到动态更改启动图标的目的,通过对图标的选用,达到向使用者展示应用信息的目的。

下面以使用两副本地图片动态修改一指定应用在Home界面的图标为例,详细地描述方案,该过程包括:

步骤201、根据本地图片创建或制作新的图标;

该步骤具体包括获取本地目录图片的Bitmap;根据Bitmap绘制新的canvas画布;往canvas画布上添加文字信息;最终获得一个带有canvas的Bitmap:NewIcon;具体的实现代码如下:

步骤202、使用新的Bitmap在Home界面创建指定应用的启动项;

该步骤包括删除之前存在的启动项和创建新的启动项,具体地实现代码如下:

步骤203、通过定时任务模拟WP7的图标翻转功能;

可以通过SecondNum设置图片翻转的间隔,具体实现代码如下:

需要说明的是,本领域的技术人员可采用多种代码来实现对应的功能描述,上述实施例中所采用的代码仅为一种实现方式;

步骤204、解决反转过程中的Toast(Android的一种显示消息的机制)提示问题。

在使用过程中发现,每次删除和创建应用图标启动项的时候,会弹出Toast信息,虽然只存在几秒,但是会降低用户体验。通过在修改Android源码中如下文件InstallShortcutReceiver.java和UninstallShortcutReceiver.java,路径为packages\apps\Launcher2\src\com\android\launcher2,可以将此处的Toast提示信息删除,重新编译源码后解决问题。

源码中需要删除的代码如下:

上述实施例中所涉及到的图标更新与原来的程序没有冲突,可以在不改变原来程序的情况下,通过多种方式如Activity、Service、广播通知等来修改程序图标,可以通过代码实现WP7的磁贴翻转的功能。

另外,采用上述方法可以同时修改多个指定的应用程序Home界面图标,这也是与Widget不一样的。

如图4所示,为本发明终端实施例的结构示意图,该终端包括:

命令获得模块41,用于获得来自服务器的命令,解析所述命令获得应用包名称、新图标路径和新图标上的文字描述;

第一创建模块42,用于根据所述命令获得模块获得的所述新图标路径和所述文字描述创建新的图标;

第二创建模块42,用于使用所述第一创建模块创建的所述新的图标在主界面创建与所述应用包名称对应的应用的启动图标;以及

更换模块43,用于通过交替更换所述启动图标来实现磁贴的定时翻转功能。

其中,所述命令获得模块,具体用于:接收所述服务器通过消息推送的命令;或者,向所述服务器发送请求消息,以及接收所述服务器根据所述请求消息返回的所述命令。

优选地,所述第一创建模块,具体用于:

直接根据所述新图标路径创建新的图标;或者

根据所述新图标路径获得的新的图标,将所述新的图标转换为位图格式,并在转换后的图标上添加所述文字描述;或者

根据所述新图标路径从远程下载新的图标,将所述新的图标保存成本地图片后转换为位图格式,并在转换后的图标上添加所述文字描述。

优选地,所述第二创建模块,具体用于:使用位图格式的新图标来更改所述应用包名称对应的应用或自身应用的启动图标。

优选地,所述更换模块,具体用于:通过创建定时任务执行所述启动图标的交替更换操作,来模拟所述磁贴正反面图标的翻转。

上述终端可以为Android系统的终端。

上述可以动态地改变应用在Home界面的启动图标,能够动态显示以提醒用户,同时弥补了使用Widget仅能针对单个应用的不足,能够同时修改多个应用的图标。

对应地,本发明实施例还提供了一种服务器,该服务器包括:

发送模块,用于向终端发送命令,所述命令中携带有待更改图标对应的应用包名称、新图标路径和新图标上的文字描述。

其中,所述发送模块,具体用于:通过消息推送主动向所述终端发送所述命令;或者,接收所述终端的请求,根据所述请求向所述终端发送所述命令。

另外,上述终端可以为Android系统的终端。

上述服务器,通过与Android系统的终端相交互,使Android系统的终端能够动态地更改启动图标成为可能。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1