一种应用通知开启方法及装置转让专利

申请号 : CN201711405767.2

文献号 : CN108124062B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 冯首宸彭昌虎

申请人 : 无线生活(杭州)信息科技有限公司

摘要 :

本发明公开了一种应用通知开启方法及装置,用以帮助终端用户方便、快捷地开启应用通知开关。该方法包括:检测用户的预设操作,响应于检测到预设操作,跳转至系统的辅助功能界面,当在辅助功能界面监测到针对预设应用的应用通知开启操作后,开启预设应用的所有通知开关。本发明实施例的上述技术方案利用系统提供的辅助功能服务,通过模拟用户点击方式自动化开启所有系统通知开关,全自动的操作流程,避免用户因找不到系统通知开关或开启过程繁琐而造成开启通知失败。

权利要求 :

1.一种应用通知开启方法,其特征在于,包括:检测用户的预设操作;

响应于检测到所述预设操作,跳转至系统的辅助功能界面;

当在所述辅助功能界面监测到针对预设应用的应用通知开启操作后,开启所述预设应用的通知开关,所述通知开关包括:通知显示开关、应用自启动管理开关、应用保护开关;

所述当在所述辅助功能界面监测到针对预设应用的应用通知开启操作后,开启所述预设应用的通知开关,包括:当在所述辅助功能界面监测到针对预设应用的应用通知开启操作后,利用辅助功能找到所述预设应用对应的通知开关;

利用辅助功能开启所述预设应用的通知开关;

所述利用辅助功能开启所述预设应用的通知开关,包括:利用辅助功能收集所有开启所述预设应用的通知开关的动作;

按照优先级由高到低的顺序执行所述开启所述预设应用的通知开关的动作。

2.如权利要求1所述的方法,其特征在于,所述方法还包括:判断所述动作是否全部执行成功;

当所述动作未全部执行成功时,展示执行失败的动作对应的条目。

3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:从所有开启通知开关的动作的集合中确定出当前终端厂商对应的开启通知开关的动作;

根据确定出的动作的类型以及应用的包名进行分组;

遍历每一个分组,确定当前终端待开启通知开关的应用的包名对应的动作类型。

4.一种应用通知开启装置,其特征在于,包括:检测模块,用于检测用户的预设操作;

跳转模块,用于响应于检测到所述预设操作,跳转至系统的辅助功能界面;

开启模块,用于当在所述辅助功能界面监测到针对预设应用的应用通知开启操作后,开启所述预设应用的通知开关,所述通知开关包括:通知显示开关、应用自启动管理开关、应用保护开关;

所述开启模块,包括:

查找子模块,用于当在所述辅助功能界面监测到针对预设应用的应用通知开启操作后,利用辅助功能找到所述预设应用对应的通知开关;

开启子模块,用于利用辅助功能开启所述预设应用的通知开关;

所述开启子模块,包括:

收集单元,用于利用辅助功能收集所有开启所述预设应用的通知开关的动作;

执行单元,用于按照优先级由高到低的顺序执行所述开启所述预设应用的通知开关的动作。

5.如权利要求4所述的装置,其特征在于,所述装置还包括:判断模块,用于判断所述动作是否全部执行成功;

展示模块,用于当所述动作未全部执行成功时,展示执行失败的动作对应的条目。

6.如权利要求4或5所述的装置,其特征在于,所述装置还包括:第一确定模块,用于从所有开启通知开关的动作的集合中确定出当前终端厂商对应的开启通知开关的动作;

分组模块,用于根据确定出的动作的类型以及应用的包名进行分组;

第二确定模块,用于遍历每一个分组,确定当前终端待开启通知开关的应用的包名对应的动作类型。

说明书 :

一种应用通知开启方法及装置

技术领域

[0001] 本发明涉及终端技术领域,特别涉及一种应用通知开启方法及装置。

背景技术

[0002] 由于各手机厂商对应用通知的限制,用户需要手动打开多个系统通知开关才可以接收到通知消息。但打开系统通知开关步骤十分复杂,用户很难手动完成所有操作。
[0003] 目前比较普遍的解决方案是提供给用户开启所有系统通知开关的操作步骤图,由用户手动依次进入这些页面并对开关进行开启操作。但是,这种做法存在的问题是:系统通知开关界面层级较深,用户很难按照步骤图正确找到开关位置;开启流程分为多个步骤,操作繁琐,用户很难完成所有步骤的操作;Android机型碎片化严重,很难针对每款机型都给出准确而具体的操作流程步骤,从而导致用户不知道如何开启通知开关。

发明内容

[0004] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用通知开启方法及装置。用以帮助终端用户方便、快捷地开启应用通知开关。
[0005] 本发明提供一种应用通知开启方法,包括:
[0006] 检测用户的预设操作;
[0007] 响应于检测到所述预设操作,跳转至系统的辅助功能界面;
[0008] 当在所述辅助功能界面监测到针对预设应用的应用通知开启操作后,开启所述预设应用的通知开关,所述通知开关包括:通知显示开关、应用自启动管理开关、应用保护开关。
[0009] 在一个实施例中,所述当在所述辅助功能界面监测到针对预设应用的应用通知开启操作后,开启所述预设应用的通知开关,可包括:
[0010] 当在所述辅助功能界面监测到针对预设应用的应用通知开启操作后,利用辅助功能找到所述预设应用对应的通知开关;
[0011] 利用辅助功能开启所述预设应用的通知开关。
[0012] 在一个实施例中,所述利用辅助功能开启所述预设应用的通知开关,可包括:
[0013] 利用辅助功能收集所有开启所述预设应用的通知开关的动作;
[0014] 按照优先级由高到低的顺序执行所述开启所述预设应用的通知开关的动作。
[0015] 在一个实施例中,所述方法还可包括:
[0016] 判断所述动作是否全部执行成功;
[0017] 当所述动作未全部执行成功时,展示执行失败的动作对应的条目。
[0018] 在一个实施例中,所述方法还可包括:
[0019] 从所有开启通知开关的动作的集合中确定出当前终端厂商对应的开启通知开关的动作;
[0020] 根据确定出的动作的类型以及应用的包名进行分组;
[0021] 遍历每一个分组,确定当前终端待开启通知开关的应用的包名对应的动作类型。
[0022] 本发明还提供一种应用通知开启装置,包括:
[0023] 检测模块,用于检测用户的预设操作;
[0024] 跳转模块,用于响应于检测到所述预设操作,跳转至系统的辅助功能界面;
[0025] 开启模块,用于当在所述辅助功能界面监测到针对预设应用的应用通知开启操作后,开启所述预设应用的通知开关,所述通知开关包括:通知显示开关、应用自启动管理开关、应用保护开关。
[0026] 在一个实施例中,所述开启模块,可包括:
[0027] 查找子模块,用于当在所述辅助功能界面监测到针对预设应用的应用通知开启操作后,利用辅助功能找到所述预设应用对应的通知开关;
[0028] 开启子模块,用于利用辅助功能开启所述预设应用的通知开关。
[0029] 在一个实施例中,所述开启子模块,可包括:
[0030] 收集单元,用于利用辅助功能收集所有开启所述预设应用的通知开关的动作;
[0031] 执行单元,用于,用于按照优先级由高到低的顺序执行所述开启所述预设应用的通知开关的动作。
[0032] 在一个实施例中,所述装置还可包括:
[0033] 判断模块,用于判断所述动作是否全部执行成功;
[0034] 展示模块,用于当所述动作未全部执行成功时,展示执行失败的动作对应的条目。
[0035] 在一个实施例中,所述装置还可包括:
[0036] 第一确定模块,用于从所有开启通知开关的动作的集合中确定出当前终端厂商对应的开启通知开关的动作;
[0037] 分组模块,用于根据确定出的动作的类型以及应用的包名进行分组;
[0038] 第二确定模块,用于遍历每一个分组,确定当前终端待开启通知开关的应用的包名对应的动作类型。
[0039] 本发明的实施例提供的技术方案可以包括以下有益效果:
[0040] 上述技术方案,通过检测用户的预设操作,响应于检测到预设操作,跳转至系统的辅助功能界面,当在辅助功能界面监测到针对预设应用的应用通知开启操作后,开启预设应用的所有通知开关。利用系统提供的辅助功能服务,通过模拟用户点击方式自动化开启所有系统通知开关,全自动的操作流程,避免用户因找不到系统通知开关或开启过程繁琐而造成开启通知失败。
[0041] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0042] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

[0043] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0044] 图1为本发明实施例中自启动管理开关自动化开启流程图。
[0045] 图2为本发明实施例中一种应用通知开启方法的流程图。
[0046] 图3为本发明实施例中又一种应用通知开启方法的流程图。
[0047] 图4为本发明实施例中一种应用通知开启装置的框图。

具体实施方式

[0048] 以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0049] 该应用通知开启方法包括以下步骤S11-S13:
[0050] 步骤S11,检测用户的预设操作。
[0051] 步骤S12,响应于检测到预设操作,跳转至系统的辅助功能界面。
[0052] 步骤S13,当在辅助功能界面监测到针对预设应用的应用通知开启操作后,开启预设应用的通知开关,通知开关包括:通知显示开关、应用自启动管理开关、应用保护开关。
[0053] 本实施例中,预设操作例如可以是用户点击某个预设按钮,用户点击该按钮后即跳转至辅助功能界面。该应用通知开启方法适用于Android系统和IOS系统。以Android系统为例,Android系统的辅助功能服务提供了三大块功能:监听界面变化、获取界面内所有元素、对界面内所有元素进行操作。本发明实施例基于Android系统提供的辅助功能服务,以模拟用户点击的方式,自动化开启所有系统通知开关。
[0054] 本发明实施例中的开启通知显示开关、应用自启动管理开关、应用保护开关,是开启应用通知的必要条件,也就是说,上述三个开关需要在全部打开的情况下,用户才能接收到该预设应用发送的通知消息。当然,通知开关不限于以上三种,只要是用户接收到通知消息必须开启的开关,都属于通知开关。
[0055] 本发明实施例基于辅助功能服务提供的三大块功能,模拟用户操作打开系统通知开关的大体流程如下,以打开自启动管理开关为例,预设应用为应用A。如图1所示,包括以下步骤S21-S26:
[0056] 步骤S21,跳转到自启动管理界面。
[0057] 步骤S22,辅助功能服务监听到界面变化。
[0058] 步骤S23,利用辅助功能服务找到应用A对应的条目。
[0059] 步骤S24,找到该条目对应的开关。
[0060] 步骤S25,检测该条目对应的开关的状态。
[0061] 步骤S26,当该条目对应的开关的状态为关闭时利用辅助功能打开自启动开关,否则结束。
[0062] 本实施例以打开自启动管理开关为例进行说明,打开通知显示开关、应用保护开关的流程和打开自启动管理开关的流程相同。即每个打开系统通知开关动作的整体操作流程均分为两个部分:跳转和处理。其中,步骤S21为跳转流程,步骤S22-S26为处理流程。通过系统提供的辅助功能,可以帮助用户无感知的开启系统所有通知开关,避免用户手动开启时因操作流程复杂、找不到具体位置而造成的开启失败。
[0063] 本发明实施例提供的上述方法,通过检测用户的预设操作,响应于检测到预设操作,跳转至系统的辅助功能界面,当在辅助功能界面监测到针对预设应用的应用通知开启操作后,开启预设应用的所有通知开关。上述技术方案利用系统提供的辅助功能服务,通过模拟用户点击方式自动化开启所有系统通知开关,全自动的操作流程,避免用户因找不到系统通知开关或开启过程繁琐而造成开启通知失败。
[0064] 在一个实施例中,步骤S13可实施为如下步骤S131-S132:
[0065] 步骤S131,当在辅助功能界面监测到针对预设应用的应用通知开启操作后,利用辅助功能找到预设应用对应的通知开关。
[0066] 步骤S132,利用辅助功能开启预设应用的通知开关。
[0067] 在一个实施例中,步骤S132可实施为如下步骤A1-A2:
[0068] 步骤A1,利用辅助功能收集所有开启预设应用的通知开关的动作。
[0069] 步骤A2,按照优先级由高到低的顺序执行开启预设应用的通知开关的动作。
[0070] 本实施例中,每打开一个通知开关称为一个动作,比如将打开通知显示开关、打开应用自启动管理开关、打开应用保护开关分别称为一个动作(Action),每个动作均包含跳转操作(JumpExecutor)和处理操作(Processor)。打开某一款机型通知开关涉及到许多Action,例如开启自启动开关的Action、开启通知显示开关的Action、开启应用保护开关的Action等。框架按优先级自动化执行所有Action。
[0071] 在一个实施例中,步骤S132还可包括以下步骤A3-A4:
[0072] 步骤A3,判断动作是否全部执行成功。
[0073] 步骤A4,当动作未全部执行成功时,展示执行失败的动作对应的条目。
[0074] 以Android系统为例,由于Android系统的辅助功能服务表现不稳定,例如在系统界面未渲染完成时无法正确拿到界面内元素、部分机型无法对界面元素进行操作等,因此,本发明实施例应该有较高的兼容性,可以在辅助功能服务失效时进行多次尝试。
[0075] 基于以上需求,具体可以采取多线程等待唤醒方式实现,其中,用户的预设操作为点击预设按钮,预设应用为应用B。如图2所示,整体框架操作流程图如下:
[0076] 步骤S41,接收用户针对预设按钮的点击操作。
[0077] 步骤S42,收集开启应用B的通知开关所需的所有动作。
[0078] 步骤S43,取出优先级最高的动作。
[0079] 步骤S44,执行该动作中的跳转操作。
[0080] 步骤S45,利用辅助功能服务接收该动作事件。
[0081] 步骤S46,执行当前动作的处理操作。
[0082] 步骤S47,等待处理动作执行。
[0083] 步骤S48,判断是否存在未执行的动作,如果存在,返回步骤S43。
[0084] 步骤S49,如果不存在,则展示结果页。
[0085] 本实施例中,在用户点击预设按钮后框架收集“最适合当前机型的一系列Action”,按优先级顺序依次执行每一个Action,首先执行Action中的跳转操作,跳转成功后当前线程进入等待状态,界面跳转将触发主线程中的辅助功能服务的回调,在回调中执行Action的处理操作。判断处理操作是否执行成功,若成功通知跳转操作所在线程结束等待;若不成功重复尝试执行。若经过一段时间尝试处理操作仍然无法成功,则通知跳转操作所在线程结束等待,并将该Action置为超时。在所有Action操作结束后判断是否全部执行成功,若存在Action执行失败则展示失败条目。用户点击该条目将自动跳转到失败Action规定的通知开关开启界面,并定位到相应的开关位置,引导用户手动开启。该框架对于手机厂商对Android系统的深度定制有极大的容错性,可最大程度保证操作流程正确执行。
[0086] 在一个实施例中,如图3所示,该应用通知开启方法还可包括以下步骤S14-S16:
[0087] 步骤S14,从所有开启通知开关的动作的集合中确定出当前终端厂商对应的开启通知开关的动作。
[0088] 步骤S15,根据确定出的动作的类型以及应用的包名进行分组。
[0089] 步骤S16,遍历每一个分组,确定当前终端待开启通知开关的应用的包名对应的动作类型。
[0090] 步骤S41-S48的难点在于如何找到最适合当前机型的一系列Action。由于Android机型碎片化严重,不可能人为对每款机型都进行适配,本实施例可以自适应未适配的机型。具体流程如下:根据用户手机厂商,从存放所有Action的集合中找到该厂商特有的一系列Action;遍历每一个找到的Action,并以该Action的类型及其所操作软件的包名将其分组;
遍历每一组Action,查看其中规定的包名在当前机型中是否存在,若存在找出版本号最接近的一个Action;判断每种类型的Action是否只有一个,如果有多个则先后通过dependencyAction,dependencyVersion和Rom版本进行过滤。
[0091] 本实施例针对没有适配的机型,根据算法筛选并匹配出最适合当前机型的一系列开启动作,降低适配成本。
[0092] 基于同一发明构思,本发明实施例还提供了一种应用通知开启装置,由于该装置所解决问题的原理与前述应用通知开启方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。
[0093] 图4所示为本发明实施例中一种应用通知开启装置的框图,如图4所示,该应用通知开启装置包括:
[0094] 检测模块61,用于检测用户的预设操作;
[0095] 跳转模块62,用于响应于检测到预设操作,跳转至系统的辅助功能界面;
[0096] 开启模块63,用于当在辅助功能界面监测到针对预设应用的应用通知开启操作后,开启预设应用的通知开关,通知开关包括:通知显示开关、应用自启动管理开关、应用保护开关。
[0097] 本发明实施例提供的上述装置,通过检测用户的预设操作,响应于检测到预设操作,跳转至系统的辅助功能界面,当在辅助功能界面监测到针对预设应用的应用通知开启操作后,开启预设应用的所有通知开关。上述技术方案利用系统提供的辅助功能服务,通过模拟用户点击方式自动化开启所有系统通知开关,全自动的操作流程,避免用户因找不到系统通知开关或开启过程繁琐而造成开启通知失败。
[0098] 在一个实施例中,开启模块63,可包括:
[0099] 查找子模块,用于当在辅助功能界面监测到针对预设应用的应用通知开启操作后,利用辅助功能找到预设应用对应的通知开关;
[0100] 开启子模块,用于利用辅助功能开启预设应用的通知开关。
[0101] 在一个实施例中,开启子模块,可包括:
[0102] 收集单元,用于利用辅助功能收集所有开启预设应用的通知开关的动作;
[0103] 执行单元,用于,用于按照优先级由高到低的顺序执行开启预设应用的通知开关的动作。
[0104] 在一个实施例中,该应用通知开启装置还可包括:
[0105] 判断模块,用于判断动作是否全部执行成功;
[0106] 展示模块,用于当动作未全部执行成功时,展示执行失败的动作对应的条目。
[0107] 在一个实施例中,该应用通知开启装置还可包括:
[0108] 第一确定模块,用于从所有开启通知开关的动作的集合中确定出当前终端厂商对应的开启通知开关的动作;
[0109] 分组模块,用于根据确定出的动作的类型以及应用的包名进行分组;
[0110] 第二确定模块,用于遍历每一个分组,确定当前终端待开启通知开关的应用的包名对应的动作类型。
[0111] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0112] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0113] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0114] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0115] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。