一种唤醒应用的方法和装置与流程

文档序号:11525137阅读:267来源:国知局
一种唤醒应用的方法和装置与流程

本发明涉及信息处理技术领域,具体而言涉及一种唤醒应用的方法和装置。



背景技术:

随着3g和4g移动通信网络的推广和智能终端的普及,大量的应用也应运而生。很多在计算机上执行的功能都可以通过智能终端例如智能手机来实现,这给用户带来了更多的功能体验,同时大量应用程序的运行也带来了电池耗电的速度越来越快的弊端。

为了改善智能终端的耗电问题,很多开发商开发了管理软件,通过强制停止应用程序的运行来降低电池的耗电量。除此之外,存在竞争关系的应用程序开发商或多或少存在使用强制停止对方的应用程序的手段来打压竞争对手的行为。尤其是对于具有相同或相似功能的应用程序而言,一些应用程序会利用辅助功能去强行停止存在竞争关系的应用程序的运行。

但是,用户希望他在工作中或生活中常用的一些应用程序例如钉钉能够始终在后台运行,而不是被错误的强行停止运行。这就需要一种能够有效地唤醒应用的方法和装置,使得应用程序被强行停止运行后,能够在某些时刻被唤醒。



技术实现要素:

本发明的目的在于提供一种唤醒应用的方法和装置,以改善上述问题。

本发明实施例提供了一种唤醒应用的方法,包括:

建立账号和相关联的数据同步机制;

在执行账号的数据同步时调起指定应用的组件,进而唤醒指定应用。

优选的,在建立账号和相关联的数据同步机制的步骤中,使用accountmanager提供的接口建立账号,通过在syncadapter.xml文件中指定建立的账号来实现账号和相关联的数据同步机制。

优选的,在所述在执行账号的数据同步时调起指定应用的组件的步骤中,通过在syncadapter.xml文件中指定被监听的contentprovider来实现调起指定应用的组件。

优选的,通过在syncadapter.xml文件中的android:contentauthority指定contentprovider对应的uri的authority来实现所述的指定被监听的contentprovider。

优选的,采用定时方式来执行账号的数据同步。

本发明实施例还提供了一种唤醒应用的装置,包括:

账号建立单元,用于建立账号;

同步单元,用于建立与账号相关联的数据同步机制;

唤醒单元,用于在执行账号的数据同步时调起指定应用的组件,进而唤醒指定应用。

优选的,所述账号建立单元用于使用accountmanager提供的接口建立账号,所述同步单元用于通过在syncadapter.xml文件中指定建立的账号来实现账号和相关联的数据同步机制。

优选的,所述唤醒单元用于通过在syncadapter.xml文件中指定被监听的contentprovider来实现调起指定应用的组件。

优选的,所述唤醒单元用于通过在syncadapter.xml文件中的android:contentauthority指定contentprovider对应的uri的authority来实现所述的指定被监听的contentprovider。

优选的,所述唤醒单元用于采用定时方式来执行账号的数据同步。

根据本发明的一种唤醒应用的方法和装置,利用安卓系统的账号信息同步机制,通过创建账号、建立账号的数据同步机制、绑定数据同步组件,在定时触发账号信息数据同步时,会调起客户端的数据同步组件,即在后台唤醒了该组件所属的应用进程,使应用提供的功能和消息提醒能够正常使用,从而提升了应用的使用率。

附图说明

图1是本发明的一种唤醒应用的方法的流程图;

图2是本发明的一种唤醒应用的装置的示意性框图。

具体实施方式

下面将结合本发明实施例和附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明的一种唤醒应用的方法的流程图。如图1所示,本发明的唤醒应用的方法包括以下步骤:

s1:建立账号和相关联的数据同步机制。

具体的,首先使用accountmanager提供的接口建立账号。accountmanager为管理帐户提供了接口组件,常用的接口组件有:

addaccount():添加一个帐户;

addaccountexplicitly():直接添加一个帐户到accountmanager;

getaccounts():获取所有帐户;

removeaccount():删除帐户;

accountauthenticator():为具体账户类型提供鉴权处理过程的组件。

这里使用已知的接口建立账号的方法为本领域的常规技术方法,这里不做详细介绍。

接着,通过在syncadapter的配置文件syncadapter.xml中指定建立的账号来实现账号和相关联的数据同步机制。

在安卓系统下,因为syncadapter可以协助管理和自动发起数据传输,也可以协调不同应用的同步操作,所以可以使用syncadapter来实现账号和数据同步机制。syncadapter需要一个服务(service),这需要在androidmanifest.xml文件里声明一个带有android.content.syncadapter的service来达到向系统注册一个具有同步功能的syncadapter,在syncadapter的配置文件syncadapter.xml中配置系统账号同步功能的一些属性,通过在syncadapter.xml文件中指定建立的账号来实现账号和相关联的数据同步机制。

s2:在执行账号的数据同步时调起指定应用的组件,进而唤醒指定应用。

具体的,首先通过在syncadapter的配置文件syncadapter.xml中指定被监听的contentprovider来实现调起指定应用的组件。这通过在配置文件syncadapter.xml中的android:contentauthority指定contentprovider对应的uri的authority来实现所述的指定被监听的contentprovider。在被监听的contentprovider中保存了指定应用的组件,由于应用程序组件contentprovider为不同的应用程序(进程)之间实现数据共享,在发生账号的数据同步时就会调起contentprovider中保存的指定应用的组件,进而唤醒指定应用。可以采用定时方式来执行账号的数据同步。

下面通过一个具体实例来说明本发明的唤醒应用的方法。

1.使用安卓系统提供的四大组件之一contentprovider来创建数据共享同步组件,contentprovider的作用是使不同应用程序之间或者不同进程之间可以共享和同步数据。

2.在androidmanifest.xml文件里声明步骤1建立的数据共享同步组件,因为只有在androidmanifest.xml文件里声明的组件才能被android系统所识别,否则无法调起。

3.建立账号系统。

4.使用安卓系统提供的四大组件之一service来创建账号服务组件,该service工作在独立进程中的后台服务,由android系统进行调度,其通过返回accountauthenticator提供的默认的ibinder操作接口让android系统调用。

5.在androidmanifest.xml文件里声明步骤4创建的服务,同时需要为该服务申明属性“exported=true”(表示可以被外部应用进程调起,如系统进程),以及必须指定组件的过滤器为“android.accounts.accountauthenticator”,让系统可以在启动的时候注册该服务。

6.指定accountauthenticator的配置文件,用于配置设置界面展示账号时的名称(如pp账号)和图标。

7.使用syncadapter建立数据同步机制。

8.使用安卓系统提供的四大组件之一service来创建数据同步服务组件,该service工作在独立进程中的后台服务,由android系统进行调度,其通过返回syncadapter提供的默认的ibinder操作接口让android系统调用。

9.在androidmanifest.xml文件里声明步骤8创建的服务,同时需要为该服务申明属性“exported=true”(表示可以被外部应用进程调起,如系统进程),以及必须指定组件的过滤器为“android.content.syncadapter”,让系统可以在启动的时候注册该服务,从而达到向系统注册一个具有同步功能的syncadapter。

10.指定syncadapter的配置文件syncadapter.xml,用于配置系统账号同步功能的一些属性,通过在syncadapter.xml文件中指定建立的账号来实现账号和相关联的数据同步机制,配置的属性还可以包括:例如android:isalwayssyncable(是否一直启用账号同步功能),android:uservisible(是否需要在系统设置界面里展示账户);另外,在android:contentauthority指定contentprovider对应的uri的authority(绑定同步时要调起的contentprovider组件名),这样实现了同步时调起指定应用的组件。

11.调用contentresolver()的开启同步接口(setissyncable)开启账号信息同步功能,再调用contentresolver()的开启自动同步接口(setsyncautomatically)打开账号信息自动同步功能,最后调用设置同步周期接口(addperiodicsync)指定系统触发该账号信息同步的周期。

这个例子说明了一个应用程序按所述方法注册及声明组件后,系统的账号管理服务会定时触发去检测当前系统里注册及声明过的账号同步组件,并调起对应应用的同步服务组件进行数据同步,因为调起了应用的组件,所以自然而然就唤醒了应用的进程。例如,系统通过唤起注册了android.content.syncadapter的过滤器的service,该service返回了syncadapter提供的默认的ibinder,该ibinder接口内部会触发getcontentresolver.notifychange操作,传入了对应contentprovider的content_uri,从而对应的contentprovider内指定的组件会被调起,进而唤醒指定应用。

根据本发明的唤醒应用的方法,利用安卓系统的账号信息同步机制,通过创建账号、建立账号的数据同步机制、绑定数据同步组件,在定时触发账号信息数据同步时,会调起客户端的数据同步组件,即在后台唤醒了该组件所属的应用进程,使应用提供的功能和消息提醒能够正常使用,从而提升了应用的使用率。

图2是本发明的一种唤醒应用的装置的示意性框图。如图2所述,本发明的唤醒应用的装置包括:

账号建立单元,用于建立账号;

同步单元,用于建立与账号相关联的数据同步机制;

唤醒单元,用于在执行账号的数据同步时调起指定应用的组件,进而唤醒指定应用。

优选的,所述账号建立单元用于使用accountmanager提供的接口建立账号,所述同步单元用于通过在syncadapter.xml文件中指定建立的账号来实现账号和相关联的数据同步机制。

优选的,所述唤醒单元用于通过在syncadapter.xml文件中指定被监听的contentprovider来实现调起指定应用的组件。

优选的,所述唤醒单元用于通过在syncadapter.xml文件中的android:contentauthority指定contentprovider对应的uri的authority来实现所述的指定被监听的contentprovider。

优选的,所述唤醒单元用于采用定时方式来执行账号的数据同步。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,前述方法实施例中列举的例子,同样适用于解释装置的工作过程,在此不再重复描述。

根据本发明的唤醒应用的装置,利用安卓系统的账号信息同步机制,通过创建账号、建立账号的数据同步机制、绑定数据同步组件,在定时触发账号信息数据同步时,会调起客户端的数据同步组件,即在后台唤醒了该组件所属的应用进程,使应用提供的功能和消息提醒能够正常使用,从而提升了应用的使用率。

本发明实施例所提供的唤醒应用的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,平板电脑,智能手机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom)、随机存取存储器(ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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