CN109753325B - 桌面未读数更新方法、装置、应用及终端 - Google Patents

桌面未读数更新方法、装置、应用及终端 Download PDF

Info

Publication number
CN109753325B
CN109753325B CN201711071016.1A CN201711071016A CN109753325B CN 109753325 B CN109753325 B CN 109753325B CN 201711071016 A CN201711071016 A CN 201711071016A CN 109753325 B CN109753325 B CN 109753325B
Authority
CN
China
Prior art keywords
desktop
application
unread
information
implementation method
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.)
Active
Application number
CN201711071016.1A
Other languages
English (en)
Other versions
CN109753325A (zh
Inventor
叶航
钟炳鑫
熊唯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201711071016.1A priority Critical patent/CN109753325B/zh
Publication of CN109753325A publication Critical patent/CN109753325A/zh
Application granted granted Critical
Publication of CN109753325B publication Critical patent/CN109753325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出一种桌面未读数更新方法、装置、应用及终端,其中方法包括:在确定第一应用中有未读信息时,获取第一应用所在终端的桌面应用信息;根据桌面应用信息的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新。该方法实现了第一应用可以根据桌面应用信息预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来更新第一应用的桌面未读数,从而减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。

Description

桌面未读数更新方法、装置、应用及终端
技术领域
本发明涉及移动通信技术领域,尤其涉及一种桌面未读数更新方法、装置、应用及终端。
背景技术
目前,终端的操作系统有多种,例如,Android、IOS、Windows Phone(简称为:WP)、Windows Mobile(简称为:WM)、Symbian等等。其中,Android系统的移动终端使用尤为广泛。
通常,安装有Android操作系统的终端,在实际使用过程中,用户可通过其上安装的应用程序获取所需信息,如通过短信应用,浏览消息。当用户退出短信应用后,当短信消息中有消息更新时,终端不能将更新的消息数量,即桌面未读数显示在桌面短信应用图标上,需要用户重新再次打开短信应用时,才能知道消息是否有更新,给用户造成不便。
目前,为了解决上述问题,部分厂商通过修改Android操作系统中Launcher(桌面启动器)中的代码,来实现显示未读数,并将设置的接口提供给各个应用程序,以使得各应用程序通过该接口设置信息未读数。但是,由于各个厂商提供的接口不统一,各个应用程序若要实现适配多个厂商的桌面未读数能力,需要将不同厂商设置的未读数接口加入到应用程序代码中,然后在运行时,确定当前Launcher对应的接口,再调用对应的接口实现桌面未读数,导致各应用程序代码冗余度高,运行时耗时严重,系统性能低。同时,还需要花费大量的维护成本和沟通成本,实用性较差。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种桌面未读数更新方法,该方法实现了第一应用可以根据桌面应用信息预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来更新第一应用的桌面未读数,从而减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。
本发明的第二个目的在于提出一种桌面未读数更新装置。
本发明的第三个目的在于提出一种第一应用。
本发明的第四个目的在于提出一种终端。
本发明的第五个目的在于提出一种计算机可读存储介质。
为达上述目的,本发明第一方面实施例提出了一种桌面未读数更新方法,应用于具有待显示桌面未读数的第一应用,包括:
在确定所述第一应用中有未读信息时,获取所述第一应用所在终端的桌面应用信息;
根据所述桌面应用信息的预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法,以对所述第一应用的桌面未读数进行更新。
本发明实施例提供的桌面未读数更新方法,在确定第一应用中有未读信息时,通过获取第一应用所在终端的桌面应用信息,以根据桌面应用信息的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新。由此,实现了第一应用可以根据桌面应用信息预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来更新第一应用的桌面未读数,从而减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。
另外,本发明上述实施例提出的桌面未读数更新方法还可以具有如下附加的技术特征:
在本发明的一个实施例中,所述桌面应用信息的预设位置,位于所述桌面应用的对外暴露信息中。
在本发明的一个实施例中,所述调用所述桌面应用的桌面未读数实现方法,包括:
根据所述预设位置中写入的内容,利用内容提供器调用所述实现方法。
在本发明的一个实施例中,所述调用所述桌面应用的桌面未读数实现方法,包括:
以所述第一应用的标识及待显示的未读数为参数,调用所述桌面应用的桌面未读数实现方法。
在本发明的一个实施例中,所述获取桌面应用信息之后,还包括:
记录所述桌面应用信息的预设位置中写入的内容。
在确定所述第一应用中未读信息的数量发生了更新时,根据记录的所述预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法。
在本发明的一个实施例中,所述根据记录的所述预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法之前,还包括:
确定所述第一应用在记录所述桌面应用信息的预设位置中写入的内容后,所述第一应用或所述第一应用所在的终端未重启。
为达上述目的,本发明的第二方面实施例提出了一种桌面未读数更新装置,包括:
获取模块,用于在确定所述第一应用中有未读信息时,获取所述第一应用所在终端的桌面应用信息;
调用模块,用于根据所述桌面应用信息的预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法,以对所述第一应用的桌面未读数进行更新。
本发明实施例提供的桌面未读数更新装置,在确定第一应用中有未读信息时,通过获取第一应用所在终端的桌面应用信息,以根据桌面应用信息的预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新。由此,实现了第一应用可以根据桌面应用信息预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来更新第一应用的桌面未读数,从而减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。
为达上述目的,本发明第三方面实施例提出了一种第一应用,包括:存储器、处理器及通信端口;
所述存储器,用于存储可执行的程序代码;
所述通信端口,用于获取桌面应用信息;
所述处理器,用于调用所述存储器中的程序代码,以实现如第一方面实施例所述的桌面未读数更新方法。
本发明实施例提供的第一应用,在确定第一应用中有未读信息时,通过获取第一应用所在终端的桌面应用信息,以根据桌面应用信息的预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新。由此,实现了第一应用可以根据桌面应用信息预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来更新第一应用的桌面未读数,从而减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。
为达上述目的,本发明第四方面实施例提出了一种终端,包括N个桌面应用及第三方面实施例所述的第一应用,且至少一个所述桌面应用的预设位置写入了桌面未读数实现方法对应的类名,其中,N为大于或等于1的正整数。
本发明实施例提供的终端,在确定第一应用中有未读信息时,通过获取第一应用所在终端的桌面应用信息,以根据桌面应用信息的预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新。由此,实现了第一应用可以根据桌面应用信息预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来更新第一应用的桌面未读数,从而减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。
为达上述目的,本发明的第五方面实施例提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现第一方面实施例所述的桌面未读数更新方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一个实施例的桌面未读数更新方法的流程图;
图2为本发明另一个实施例的桌面未读数更新方法的流程图;
图3为本发明一个具体实施例的对第一应用的未读信息进行更新的示意图;
图4为本发明再一个实施例的桌面未读数更新方法的流程图;
图5为本发明另一个具体实施例的对第一应用的未读信息进行更新的示意图;
图6为本发明一个实施例的桌面未读数更新装置的结构示意图;
图7为本发明一个实施例的第一应用的结构示意图;
图8为本发明一个实施例的终端的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本发明实施例,主要针对现有技术中,在实现应用桌面未读数显示时,需要将不同厂商设置的未读数接口加入到应用程序代码中,在运行时,先确定当前桌面应用对应的接口,再调用对应的接口实现桌面未读数,从而导致各个应用程序代码冗余度高,运行时耗时严重,系统性能低。同时,还需要花费大量的维护成本和沟通成本,实用性较差的问题,提出一种桌面未读数更新方法。
本发明提出的桌面未读数更新方法,在确定第一应用中有未读信息时,获取第一应用所在终端的桌面应用信息,并根据桌面应用信息的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新操作。由此,实现了第一应用可以根据桌面应用信息预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来更新第一应用的桌面未读数,从而减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。
为了对本申请提供的桌面未读数更新方法进行清楚的说明,下面首先对本申请实施例中的桌面应用信息进行说明。
本申请实施例中的桌面应用信息,为桌面应用的对外暴露信息,即桌面应用的ApplicationInfo。在andriod系统中,通常,桌面应用对外暴露信息可以被其它应用获得。因此,本申请各实施例中,若桌面应用可实现桌面未读数,那么即可将其桌面未读数实现方法设置在外暴露信息中。从而当其它应用需要更新其桌面未读数时,即可通过查询桌面应用信息,来获取桌面未读数实现方法,进而通过调用该桌面未读数实现方法,来实现桌面未读数的更新。
下面结合附图对本发明实施例提出的桌面未读数更新方法进行详细描述。
图1为本发明的一个实施例的桌面未读数更新方法的流程图。
如图1所示,该桌面未读数更新方法可以包括:
步骤101,在确定第一应用中有未读信息时,获取第一应用所在终端的桌面应用信息。
具体的,本发明实施例提供的桌面未读数更新方法,可以由本发明提供桌面未读数更新装置执行,该装置可以被配置在终端中,以实现在第一应用有未读信息时,通过调用桌面应用信息中的桌面未读数实现方法,对第一应用的未读数进行更新。
其中,本申请各实施例中的终端,是指具有Android操作系统的终端。例如智能手机、掌上电脑(Personal Digital Assistant,简称为:PDA)、智能手环等设备。
其中,第一应用,是指安装在终端中的任意一个应用程序。例如,电子邮件、微博、短信、通话记录等等。
终端的桌面应用,是指终端系统的桌面UI程序,统称为:Launcher。
可以理解的是,在实际使用过程中,桌面应用可为终端上安装的所有应用程序(APP)提供接入入口,使得终端上的每个APP都可以通过该入口,将自身对应的图标及应用名称显示在桌面应用里面,从而便于用户可以通过对终端桌面上的图标及应用名称,进行点击操作以打开应用,或拖动操作以移动应用等。
例如,用户可点击电子邮件图标进入电子邮件主页,以便于用户浏览查看邮件信息。
又例如,用户可长按应用图标,并将该图标移动至当前界面的其他位置,以实现改变应用程序所在位置的目的。
具体的,可通过以下多种方式确定第一应用中是否有未读信息。
示例一:
可通过终端操作系统中的content resolver查询对应的数据库,来确定第一应用是否有未读信息。
示例二:
第一应用直接判断数据库中的if_read字段是否为1,来确定第一应用中是否有未读信息。其中,当字段为0时,表示有未读信息;当字段为1时,表示没有未读信息。
当然除此之外,还可以通过其他方式确定第一应用中是否有未读信息,本实施例中对此不做具体限制。
进一步地,本实施例中,第一应用可通过多种方式,获取第一应用所在终端的桌面应用信息。
举例来说,可通过调用获取函数,来获取第一应用所在终端的桌面应用信息;或者,直接在MainActivity代码中进行遍历操作,以获取第一应用所在终端桌面应用信息,本实施例对此不做具体限定。
需要说明的是,同一终端中,可以安装多个桌面应用,则在本实施例一种可能的实现形式中,若第一应用所在的终端中安装了多个桌面应用,那么第一应用可以根据各个桌面应用的运行状态,确定该终端中当前使用的桌面应用,进而获取当前使用的桌面应用的信息。
具体的,第一应用可以通过查询终端中的进程,比如利用ActivityManager获得系统里正在运行的activities,进而根据运行的activities标识或名称,确定当前使用的桌面应用。
步骤102,根据桌面应用信息的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新。
其中,桌面应用信息的预设位置中写入的内容可以为桌面未读数实现方法的类名,本申请对此不做限定。
本实施例中桌面应用信息的预设位置,可以为第一应用可以访问的任意位置,比如:桌面应用的对外暴露信息等,本实施例对此不做限定。
进一步的,上述预设位置可以为桌面应用的对外暴露信息代码中任意位置。例如,在外暴露信息代码中的第二个字段,设置桌面未读数实现方法的类名;或者,在第六个字段处设置桌面未读数实现方法的类名等等,本实施例中对此不作具体限制。
具体的,在根据桌面应用信息的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法之前,需要先确定桌面应用信息中是否包括桌面未读数实现方法。
具体实现时,可通过多种方式确定桌面应用信息中是否包括桌面未读数实现方法。举例说明如下:
一种可能实现方式,可直接在获取的对外暴露信息的预设位置处,查找桌面未读数实现方法的类名,以确定桌面应用信息中是否包含桌面未读数实现方法的类名。
其中,桌面应用的对外暴露信息,是对系统AndroidManifest.xml文件中<Application/>标签对应的相应信息的封装。从而本实施例,可通过获取ApplicationInfo信息,即可确定出桌面应用信息是否包含桌面未读数实现方法的类名。
需要说明的是,本实施例中的桌面未读数实现方法的类名,可以以“键值对”的形式进行存储,从而使第一应用可以根据键值,快速获取到桌面未读数实现方法的类名。其中,键值的形式可以根据需要任意设置,比如,键值可为“badge_provider”。
另一种可能实现方式,还可通过对获取到的桌面应用的对外暴露信息进行遍历,以确定是否存在桌面未读数实现方法。
具体的,可以预先统一桌面未读数实现方法的标识或名称,以使具有桌面未读数功能的桌面应用,在其对外暴露信息中添加该特定的桌面未读数实现方法的标识或者名称,从而第一应用即可通过遍历其所在终端的桌面应用的对外暴露信息,以确定是否包含该特定的桌面未读数实现方法的标识的字段。
再一种可能实现方式,第一应用还可基于预先统一桌面未读数实现方法的标识或名称,利用获取函数getClass(),判断在桌面应用的对外暴露信息中是否可以获取到桌面未读实现方法的标识或名称的字段。本实施例对此不作具体限制。
进一步地,若确定桌面应用的信息中有桌面未读数实现方法时,则第一应用可根据第一应用的标识及待显示的未读数为参数,调用该桌面未读数实现方法,以实现对第一应用的桌面未读数进行更新。
具体的,本实施例中,可根据该未读数实现方法的类名,利用内容提供器调用该桌面未读数实现方法。
其中,内容提供器是指系统中的Content Provider,该内容提供器可以实现在不同的应用程序之间实现数据共享的功能。即通过提供了一套完整的共享机制,允许一个程序访问另一个程序中的数据,同时还能保证被访问数据的安全性。
具体实现时,可使用现有的内容提供器来读取和操作相应实现方法中的数据;或者,也可以创建一个新的内容提供器,将实现方法中接口的方法提供给第一应用,本实施例中对此不做具体限制。
假设本实施例中,采用的是现有的内容提供器调用桌面未读数实现方法,那么在使用上述内容提供器,将桌面未读数实现方法中接口的方法提供给第一应用时,需要根据内容提供器约定协议格式,构造唯一的桌面未读数实现方法访问链接。例如,content://<authority>/badge,其中<authority>为桌面未读数实现方法的类名。
进而,在构造未读数实现方法访问链接之后,就可利用该内容提供器,实现从第一应用调用到桌面应用的桌面未读数实现方法。
也就是说,本实施例中通过内容提供器可以获取到该桌面未读数实现方法中实现桌面未读数接口的方法,并将获取的实现桌面未读数的接口的方法提供给第一应用,进而第一应用可通过调用该桌面未读数接口的方法,将自身对应的未读数值发送给桌面应用,从而通过桌面应用将接收到的未读数显示在第一应用的桌面图标上,以便于用户直接通过第一应用桌面图标上的未读数,就可知晓有多少未读信息。
本发明实施例提供的桌面未读数更新方法,在确定第一应用中有未读信息时,通过获取第一应用所在终端的桌面应用信息,以根据桌面应用的信息的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新。由此,实现了第一应用可以根据桌面应用信息预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来更新第一应用的桌面未读数,从而减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。
通过上述分析可知,第一应用在有未读信息时,可根据桌面应用信息的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来对第一应用的桌面未读数进行更新。在一种可能的实现形式中,由于一个实现方法中可能包括实现多种接口的方法,因此第一应用在调用桌面未读数实现方法时,仅调用实现桌面未读数接口的方法即可,下面结合图2,对上述情况进行详细说明。
图2为本发明的另一个实施例的桌面未读数更新方法的流程图。
如图2所示,该桌面未读数更新方法,可以包括:
步骤201,在确定第一应用中有未读信息时,获取第一应用所在终端的桌面应用的信息。
步骤202,根据桌面应用信息的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法中、用于实现更新桌面未读数的接口的方法。
具体的,桌面未读数实现方法中可包括多个不同功能接口对应的方法。例如,显示桌面未读数接口的方法、更新应用接口的方法等等。
因此,本实施例中,在调用桌面未读数实现方法时,需要选择桌面未读数实现方法中,用于实现更新桌面未读数的方法,以便通过更新桌面未读数的方法将第一应用的未读数更新在桌面应用中。
其中,为了使第一应用能够快速获取到桌面未读数实现方法中,用于实现更新桌面未读数接口的方法。本实施例中,可根据预先设定的方法名,在桌面未读数实现方法中的多个接口方法中进行查找,以获取到用于实现更新桌面未读数的接口方法,进而根据获取到的更新桌面未读数的方法实现未读数更新的目的。
其中,用于实现更新桌面未读数的方法名可以是预先约定的,也可以是根据需要自定义的,本实施例对此不做具体限制。举例说明,本实施例中,用于实现更新桌面未读数的方法名为setBadte。那么,第一应用可根据该setBadte在桌面未读数实现方法中找到用于实现更新桌面未读数的方法,从而根据该方法将第一应用的未读数更新在桌面应用中。
举例来说,用于定义实现更新桌面未读数的方法可以为以下语句:void setBadte(int count),当然还可以是其他语句,本实施例对此不做具体限制。
其中,count是指第一应用未读数参数。
也就是说,第一应用利用实现更新桌面未读数的方法名在桌面未读数实现方法中,查找到用于实现更新桌面未读数的方法之后,可将未读数值作为调用参数,调用该用于实现更新桌面未读数的方法。从而桌面应用,即可根据调用该实现更新桌面未读数方法中的未读数值,在第一应用的桌面图标上进行更新。
需要说明的是,在第一应用调用实现更新桌面未读数的方法,以将未读数值发送给桌面应用进行更新操作时,为了便于桌面应用能够准确识别是终端中哪一个应用发送了更新指令。本实施例中,还可在第一应用调用用于实现更新桌面未读数的接口方法时,将待显示未读数数值,及第一应用自身的标识同时发送给桌面应用,以使得桌面应用能够根据接收到的标识,在第一应用的桌面图标上进行未读数显示。
其中,第一应用的标识可以是应用名称,或者应用签名等,本实施例对此不做具体限制。
举例来说,第一应用将标识及待显示未读数,发送给桌面应用时,可以采用如下的语句实现,void setBadte(int count,char name)。
为了对本申请提供的桌面未读数更新方法进行更清楚的说明,下面以第一应用是电子邮件为例,结合图3对本申请提供的桌面未读数更新方法进行进一步说明。
图3为本发明一个具体实施例的对第一应用的未读信息进行显示的示意图。
如图3所示,第一应用为电子邮件,桌面应用的对外暴露信息为ApplicationInfo,桌面未读数实现方法的类名为:badge_provider。那么当电子邮件在获取到3条新邮件,且确定用户未打开该邮件时,该桌面未读数更新方法包括:
1、通过获取函数getClass(badge_provider)从桌面应用的ApplicationInfo中获取桌面未读数实现方法。
2、根据badge_provider,构造通用资源标志符(Universal ResourceIdentifier,简称为:URI),content://<authority>/badge,访问桌面未读数实现方法。
3、根据用于实现更新桌面未读数的方法名setBadte,在桌面未读数实现方法中找到用于实现更新桌面读数方法,然后利用void setBadte(int 3,char电子邮件),调用该用于实现更新桌面读数方法。
4、桌面应用在获取到电子邮件应用发送的未读数显示参数,电子邮件和3之后,即可根据上述未读数3,对电子邮件的桌面图标进行未读数更新操作。
本发明实施例提供的桌面未读数更新方法,通过调用实现方法中用于实现更新桌面未读数的接口的方法,使得桌面应用可以根据第一应用发送的标识及待显示未读数,在桌面上进行更新操作。由此,通过调用桌面未读数实现方法中用于实现更新桌面读数方法,减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。
通过上述实施例可知,在确定第一应用有未读信息时,获取第一应用所在终端的桌面应用信息,且通过桌面应用信息的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新。在本发明一种可能的实现情景中,为了方便后续的桌面未读数更新操作,在根据桌面应用信息的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法之后,本发明还可将该桌面应用信息的预设位置中写入的内容进行记录操作。下面结合图4,对上述情况下的桌面未读数更新方法进行具体说明。
步骤401,在确定第一应用中有未读信息时,获取第一应用所在终端的桌面应用信息。
步骤402,根据桌面应用信息的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法中,以对第一应用的桌面未读数进行更新。
具体的,当第一应用在桌面应用的对外暴露信息的预设位置,查找到桌面未读数实现方法的类名之后,则可根据获取到的桌面未读数实现方法的类名,利用内容提供器调用该桌面未读数实现方法,以实现对第一应用的桌面未读数进行显示。
需要说明的是,在实际使用过程中,若每次对第一应用中未读信息进行更新操作时,都进行重新获取第一应用所在终端的桌面应用信息,并根据桌面应用信息中预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,使得每次桌面未读数更新时都花费较多时间,影响桌面未读数更新的速度。
因此,步骤402之后,还可以包括:
步骤403,记录桌面应用信息的预设位置中写入的内容。
具体实现时,可将桌面未读数实现方法的类名记录在第一应用所在的存储器中,比如缓存中;或者,将未读数实现方法的类名记录在特定的存储空间,本实施例对此不做具体限定。
可以理解的是,在第一应用根据获取到的桌面未读数实现方法的类名,利用内容提供器调用该桌面未读数实现方法,以实现对第一应用的桌面未读数进行显示的同时,还将获取到的桌面未读数实现方法的类名进行记录,以在第一应用下一次进行桌面未读数更新时,能够直接调用自身记录的桌面未读数实现方法的类名。从而减少了第一应用再次进行获取、判断等操作,进一步提高了第一应用桌面未读数更新的处理速度,减少了终端运行负担。
步骤404,在确定第一应用中未读信息的数量发生了更新时,根据记录的预设位置中写入的内容,调用桌面应用的桌面未读数实现方法。
需要说明的是,在实际使用过程中,当第一应用或第一应用所在终端发生重新启动时,终端先前记录的桌面未读数实现方法的类名可能被删除,从而导致第一应用利用自身记录的未读数实现方法中的类名进行更新操作时,找不到对应的未读数实现方法的类名,影响了第一应用的更新。因此,为了避免上述情况的发生,在步骤404之前,该桌面未读数更新方法,还包括:
步骤405,判断在第一应用记录未读数实现方法的类名后,第一应用或第一应用所在的终端是否执行了重启操作,若是,则执行步骤406,若否,则执行步骤404。
具体的,若确定第一应用或第一应用所在的终端发生了重启操作,那么可能出现第一应用上次记录的桌面未读数实现方法的类名被删除,从而导致第一应用进行桌面未读数更新时,找不到对应的桌面未读数实现方法的类名。因此,通过在对第一应用中桌面未读信息进行更新之前,先确定第一应用或第一应用所在的终端是否发生重启动,以避免第一应用进行桌面未读数更新时,找不到记录的桌面未读数实现方法的类名,进而,导致花费较长时间进行获取操作,影响体验。
步骤406,判断第一应用所在的终端当前运行的桌面应用,是否与第一应用记录的桌面应用相同,若是,则执行步骤404,否则,执行步骤401。
具体的,由于第一应用所在的终端中可能安装了多个桌面应用,且终端在重新启动时,用户选择了不同的桌面应用,此时若第一应用仍根据之前记录的桌面未读数实现方法的类名,去调用桌面未读数实现方法时,就会出现桌面未读数更新失败的情况。因此,本申请实施例中,在终端进行了重启后,第一应用在桌面未读数更新时,可以根据当前桌面应用信息中包含的桌面未读数实现方法,对桌面未读数进行更新。
具体实现时,第一应用在记录桌面未读数实现方法的类名时,可以将对应的桌面应用标识同时进行存储。从而,即可判断当前运行的桌面应用标识与记录的桌面应用标识是否相同,来确定是否需要对桌面未读数实现方法的类名进行更新。
可以理解的是,若记录的终端桌面应用的标识或名称,与终端当前运行的桌面应用的标识或名称匹配,则说明终端当前运行的桌面应用与上次运行的桌面应用是同一个,即第一应用上次记录的桌面未读数实现方法的类名存储在存储器中。因此,第一应用可直接调用上一次记录的桌面未读数实现方法的类名,调用用于实现更新桌面未读数的方法,以更新第一应用的桌面图标上的未读数值。
进一步的,若记录的终端桌面应用的标识或名称,与终端当前运行的桌面应用的标识或名称不匹配,则说明终端当前运行的桌面应用与记录的桌面应用不是同一个,即根据当前记录的桌面未读数实现方法无法实现桌面未读数更新,因此,第一应用则可以重新获取当前桌面应用的对外暴露信息,并根据新获取的桌面未读数实现方法的类名,更新第一应用的桌面未读数。
相应的,若确定第一应用或第一应用所在的终端未重启,则第一应用可利用记录的桌面未读数实现方法的类名,调用桌面未读数实现方法,以实现对第一应用的桌面未读数进行更新。
需要说明的说,本申请中,第一应用也可以根据其他的触发条件,对记录的桌面未读数实现方法的类名进行更新。比如以一定的时间间隔,对记录的桌面未读数实现方法的类名进行更新等。本实施例对此不做限定。
在本发明的实施例中,上述步骤401~步骤406的效果示意图,可通过图5进行详细说明。图5为本发明另一个具体实施例的对第一应用的未读信息进行显示的示意图。
如图5所示,第一应用为电子邮件,桌面应用的对外暴露信息为ApplicationInfo,桌面未读数实现方法的类名为:badge_provider,终端为手机。那么当电子邮件在获取到3条新邮件,且确定用户未打开该邮件时,该桌面未读数更新方法包括:
1、通过获取函数getClass(badge_provider)从桌面应用的ApplicationInfo中获取桌面未读数实现方法。
2、根据badge_provider,构造通用资源标志符(Universal ResourceIdentifier,简称为:URI),content://<authority>/badge,访问未读数实现方法。
3、根据用于实现更新桌面未读数的方法名setBadte,在桌面未读数实现方法中找到用于实现更新桌面读数方法,然后利用void setBadte(int 3,char电子邮件),调用该用于实现更新桌面读数方法。
4、桌面应用在获取到电子邮件应用发送的未读数显示参数,电子邮件和3之后,即可根据上述未读数3,对电子邮件的桌面图标进行未读数更新操作。
此外,在电子邮件获取到badge_provider之后,还可以进行如下操作:
5、电子邮件将badge_provider及当前的桌面应用标识保存在缓存中。
6、电子邮件检测到未读邮件的数量有更新,从3变成6。
7、确定此时的桌面应用与已记录的桌面应用标识匹配。
8、根据记录的badge_provider发送桌面未读数更新指令。
9、桌面应用在获取到电子邮件应用发送的桌面未读数更新参数:电子邮件和6之后,即可根据上述未读数6,对电子邮件的桌面图标进行未读数更新操作。
本发明实施例提供的桌面未读数更新方法,通过对第一应用的未读信息进行更新之前,先判断第一应用或第一应用的终端是否发生重启动,以根据判断结果执行对应的更新操作,减少了不必要的操作,提高了更新效率,避免了重复操作的麻烦。
为了实现上述实施例,本发明还提出一种桌面未读数更新装置。
图6是本发明一个实施例的桌面未读数更新装置的结构示意图。
参照图6所示,本发明的桌面未读数更新装置,包括:获取模块11和调用模块12。
其中,获取模块11用于在确定所述第一应用中有未读信息时,获取所述第一应用所在终端的桌面应用信息;
调用模块12用于根据所述桌面应用信息的预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法,以对所述第一应用的桌面未读数进行更新。
需要说明的是,前述对桌面未读数更新方法实施例的解释说明也适用于该实施例的桌面未读数更新装置,其实现原理类似,此处不再赘述。
本发明实施例提供的桌面未读数更新装置,在确定第一应用中有未读信息时,通过获取第一应用所在终端的桌面应用信息,以根据桌面应用信息的预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新。由此,实现了第一应用可以根据桌面应用信息预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来更新第一应用的桌面未读数,从而减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。
为了实现上述实施例,本发明还提出一种第一应用。
图7是本发明一个实施例的第一应用的结构示意图。
参照图7,该第一应用包括:存储器110、处理器120及通信端口130。
其中,存储器110用于存储可执行的程序代码;
通信端口130用于获取桌面应用信息;
处理器120用于调用存储器110中的程序代码,以实现上述实施例的桌面未读数更新方法。
本发明实施例提供的第一应用,在确定第一应用中有未读信息时,通过获取第一应用所在终端的桌面应用信息,以根据桌面应用信息的预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新。由此,实现了第一应用可以根据桌面应用信息预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来更新第一应用的桌面未读数,从而减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。
为了实现上述实施例,本发明还提出了一种终端。
图8是本发明一个实施例的终端的结构示意图。
如图8所示,该终端100,包括:N个桌面应用10及第三方面实施例所述的第一应用20,且至少一个桌面应用的预设位置写入了桌面未读数方法对应的类名,其中,N为大于或等于1的正整数。
其中,本申请中的终端,是指具有Android操作系统的终端。例如智能手机、掌上电脑(Personal Digital Assistant,简称为:PDA)、智能手环等设备。第一应用10为安装在终端中的、除桌面应用20之外的任意应用。
需要说明的是,前述对桌面未读数更新方法实施例的解释说明也适用于该实施例的终端,其实现原理类似,此处不再赘述。
本发明实施例提供的终端,在确定第一应用中有未读信息时,通过获取第一应用所在终端的桌面应用信息,以根据桌面应用信息的预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法,以对第一应用的桌面未读数进行更新。由此,实现了第一应用可以根据桌面应用信息预设位置中写入的内容,调用桌面应用的桌面未读数实现方法,来更新第一应用的桌面未读数,从而减少了第一应用的冗余代码,提高了第一应用桌面未读数显示的处理速度,提高了系统性能,减少了维护成本和沟通成本,提升了用户使用体验。
为了实现上述实施例,本发明还提出了一种计算机可读存储介质。
上述计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现第一方面实施例所述的桌面未读数更新方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种桌面未读数更新方法,应用于具有待显示桌面未读数的第一应用,其特征在于,包括:
在确定所述第一应用中有未读信息时,获取所述第一应用所在终端的桌面应用信息,桌面应用是指终端系统的桌面UI程序;
根据所述桌面应用信息的预设位置中写入的内容,获取桌面未读数实现方法的类名;其中,所述桌面应用信息为桌面应用的、能够被其它应用获得的对外暴露信息;
根据所述未读数实现方法的类名调用所述桌面应用的桌面未读数实现方法,以对所述第一应用的桌面未读数进行更新。
2.如权利要求1所述的方法,其特征在于,所述桌面应用信息的预设位置,位于所述桌面应用的对外暴露信息中。
3.如权利要求1所述的方法,其特征在于,所述调用所述桌面应用的桌面未读数实现方法,包括:
根据所述预设位置中写入的内容,利用内容提供器调用所述未读数实现方法。
4.如权利要求1-3任一所述的方法,其特征在于,所述调用所述桌面应用的桌面未读数实现方法,包括:
以所述第一应用的标识及待显示的未读数为参数,调用所述桌面应用的桌面未读数实现方法。
5.如权利要求1-3任一所述的方法,其特征在于,在所述获取所述第一应用所在终端的桌面应用信息之后,还包括:
记录所述桌面应用信息的预设位置中写入的内容;
在确定所述第一应用中未读信息的数量发生了更新时,根据记录的所述预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法。
6.如权利要求5所述的方法,其特征在于,所述根据记录的所述预设位置中写入的内容,调用所述桌面应用的桌面未读数实现方法之前,还包括:
确定在所述第一应用记录所述桌面应用信息的预设位置中写入的内容后,所述第一应用或所述第一应用所在的终端未重启。
7.一种桌面未读数更新装置,其特征在于,包括:
获取模块,用于在确定第一应用中有未读信息时,获取所述第一应用所在终端的桌面应用信息;桌面应用是指终端系统的桌面UI程序;
调用模块,用于根据所述桌面应用信息的预设位置中写入的内容,获取桌面未读数实现方法的类名;其中,所述桌面应用信息为桌面应用的、能够被其它应用获得的对外暴露信息;根据所述未读数实现方法的类名调用所述桌面应用的桌面未读数实现方法,以对所述第一应用的桌面未读数进行更新。
8.一种第一应用,其特征在于,包括:
存储器、处理器及通信端口;
所述存储器,用于存储可执行的程序代码;
所述通信端口,用于获取桌面应用的信息;
所述处理器,用于调用所述存储器中的程序代码,以实现如权利要求1-7任一所述的桌面未读数更新方法。
9.一种终端,其特征在于,包括:N个桌面应用及如权利要求8所述的第一应用,且至少一个所述桌面应用的预设位置写入了桌面未读数实现方法对应的类名,其中,N为大于或等于1的正整数。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现如权利要求1-6中任一所述的桌面未读数更新方法。
CN201711071016.1A 2017-11-03 2017-11-03 桌面未读数更新方法、装置、应用及终端 Active CN109753325B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711071016.1A CN109753325B (zh) 2017-11-03 2017-11-03 桌面未读数更新方法、装置、应用及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711071016.1A CN109753325B (zh) 2017-11-03 2017-11-03 桌面未读数更新方法、装置、应用及终端

Publications (2)

Publication Number Publication Date
CN109753325A CN109753325A (zh) 2019-05-14
CN109753325B true CN109753325B (zh) 2021-07-16

Family

ID=66398642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711071016.1A Active CN109753325B (zh) 2017-11-03 2017-11-03 桌面未读数更新方法、装置、应用及终端

Country Status (1)

Country Link
CN (1) CN109753325B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114090121A (zh) * 2021-11-17 2022-02-25 西安闻泰信息技术有限公司 应用程序控制方法及装置、存储介质和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106533928A (zh) * 2016-12-29 2017-03-22 努比亚技术有限公司 一种更新未读消息提醒标识的方法和装置
CN106802791A (zh) * 2015-11-26 2017-06-06 赤子城网络技术(北京)有限公司 未读消息计数方法及装置
CN107272996A (zh) * 2017-07-11 2017-10-20 深圳天珑无线科技有限公司 应用消息处理方法、移动终端及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792015B2 (en) * 2013-09-19 2017-10-17 Microsoft Technology Licensing, Llc Providing visualizations for conversations
CN104965580B (zh) * 2014-05-08 2018-10-16 腾讯科技(深圳)有限公司 未读消息的展示方法和装置
CN106293306A (zh) * 2015-05-15 2017-01-04 中兴通讯股份有限公司 一种图标的排列方法及装置
CN105528251B (zh) * 2015-12-23 2019-06-07 北京奇虎科技有限公司 应用通知信息的处理方法、装置及移动终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106802791A (zh) * 2015-11-26 2017-06-06 赤子城网络技术(北京)有限公司 未读消息计数方法及装置
CN106533928A (zh) * 2016-12-29 2017-03-22 努比亚技术有限公司 一种更新未读消息提醒标识的方法和装置
CN107272996A (zh) * 2017-07-11 2017-10-20 深圳天珑无线科技有限公司 应用消息处理方法、移动终端及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"[贝聊科技]有关Android应用桌面角标(BadgeNumber)实现的探讨";小强;《https://www.jianshu.com/p/199a9238015f》;20171030;第1-9页 *

Also Published As

Publication number Publication date
CN109753325A (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
CN107911487B (zh) 信息推送方法、装置、服务器及可读存储介质
EP2469818B1 (en) Dynamic display method for application program interface and device thereof
EP2660761A1 (en) Timestamp management method for data synchronization and terminal therefor
CN111147351B (zh) 群消息回执的更新方法、装置、可读存储介质及电子设备
CN102378136B (zh) 短消息的处理方法及装置
US20170085673A1 (en) Attribute Operating Method and Apparatus
CN105472090A (zh) 通讯录联系人合并的方法及装置
CN110855529B (zh) 网络信息安全监护方法、装置、服务器及可读存储介质
CN109753325B (zh) 桌面未读数更新方法、装置、应用及终端
CN115658367A (zh) 一种基于程序错误码的异常提示方法和装置
CN103379145B (zh) 信息处理的方法、设备和系统
CN111694703A (zh) 缓存区管理方法、装置和计算机设备
CN107741891B (zh) 对象的析构方法、介质、装置和计算设备
CN111142885B (zh) 一种eSIM设备管理方法、装置、设备及存储介质
EP3276505A1 (en) Method, apparatus and system for uploading a file
CN108984238B (zh) 应用程序的手势处理方法、装置及电子设备
CN113132241B (zh) Acl模板动态配置方法及装置
US7752504B2 (en) System diagnostics with dynamic contextual information of events
CN114185804A (zh) 一种接口测试方法、装置及终端设备
CN111078233B (zh) 一种应用推广的实现方法、装置、设备及存储介质
CN108874560B (zh) 进行通信的方法和通信设备
CN113282516A (zh) 测试用例结果的处理方法及装置
US20120100835A1 (en) System and method for reading sms messages
CN111026466A (zh) 文件处理方法、装置、计算机可读存储介质及电子设备
CN112148547B (zh) 应用启动次数的监控方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant