CN105183307A - 应用程序消息显示控制方法及装置 - Google Patents

应用程序消息显示控制方法及装置 Download PDF

Info

Publication number
CN105183307A
CN105183307A CN201510330052.XA CN201510330052A CN105183307A CN 105183307 A CN105183307 A CN 105183307A CN 201510330052 A CN201510330052 A CN 201510330052A CN 105183307 A CN105183307 A CN 105183307A
Authority
CN
China
Prior art keywords
message
display
informing
application
informing message
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.)
Granted
Application number
CN201510330052.XA
Other languages
English (en)
Other versions
CN105183307B (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.)
Beijing 360 Zhiling Technology Co ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510330052.XA priority Critical patent/CN105183307B/zh
Publication of CN105183307A publication Critical patent/CN105183307A/zh
Application granted granted Critical
Publication of CN105183307B publication Critical patent/CN105183307B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种应用程序消息显示控制方法,包括步骤:向系统注入并运行用于接管系统通知栏服务的控制模块;所述控制模块依据预设条件过滤应用程序发送的通知栏消息以确定允许显示的通知栏消息;所述控制模块仅向SystemUI发送显示所述允许显示的通知栏消息的消息指令,使SystemUI仅显示所述允许显示的通知栏消息。相应的,本发明还提供一种应用程序消息显示控制装置,本发明所述方法可以控制应用程序选择性地显示通知栏消息,隐藏无用的通知栏消息,显示有用的通知栏消息,避免大量的无用通知栏消息给用户造成的干扰,同时又不丢失重要的消息。

Description

应用程序消息显示控制方法及装置
技术领域
本发明涉及计算机安全领域,具体而言,本发明涉及一种应用程序消息显示控制方法及装置。
背景技术
近年来,随着智能手机的广泛应用,Android系统平台作为全球最流行的移动操作系统已具有数以亿计的用户。Android系统为了方便用户查看应用程序的消息通知,提供了通知栏消息服务以便于显示应用程序发送的消息,提醒用户一些重要信息。但同时也给一些恶意广告软件带来了可乘之机,恶意应用程序或者有些正常的第三方应用程序频繁利用系统的消息通知接口显示通知栏消息,而大量的通知栏消息是无用的,多数为广告消息,频繁弹出多条通知栏消息会给用户造成极大的干扰。
发明内容
本发明的目的旨在解决上述至少一个问题,提供一种应用程序消息显示控制方法及装置。
为了实现上述目的,本发明提供一种应用程序消息显示控制方法,包括以下步骤:
向系统注入并运行用于接管系统通知栏服务的控制模块;
所述控制模块依据预设条件过滤应用程序发送的通知栏消息以确定允许显示的通知栏消息;
所述控制模块仅向SystemUI发送显示所述允许显示的通知栏消息的消息指令,使SystemUI仅显示所述允许显示的通知栏消息。
进一步的,所述控制模块向SystemUI发送消息指令的过程如下:将确定显示的应用程序的通知栏消息对应的消息标识符和消息对象作为参数替换未被允许显示的应用程序通知栏消息的相应参数,通过所述的消息指令传递该参数通知SystemUI显示消息,从而显示允许显示的通知栏消息而隐藏未被允许显示的通知栏消息。
具体的,所述消息指令为系统提供的接口函数NotificationManager.notify()。
具体的,所述系统通知栏服务具体指NotificationManagerService,用于接收应用程序发送的消息并执行显示操作。
进一步的,还包括如下步骤:接收设定白名单的指令,生成用于记录允许显示其发送的通知栏消息的应用程序包名的列表,以构造所述的用于过滤的预设条件。
进一步的,还包括如下步骤:接收设定黑名单的指令,生成用于记录禁止显示其发送的系统消息的应用程序包名的列表,以构造所述的用于过滤的预设条件。
进一步的,还包括如下步骤:通过远程端口接收云端推送的白名单,以根据该白名单所构造的预设条件实施过滤,以允许显示记录于该白名单中的应用程序包名对应的应用程序发送的通知栏消息。
进一步的,还包括如下步骤:通过远程端口接收云端推送的黑名单,以根据该黑名单所构造的预设条件实施过滤,以禁止显示记录于该黑名单中的应用程序包名对应的应用程序发送的通知栏消息。
具体的,所述预设条件为判定通知栏消息所属应用程序是否安全的过滤依据,当该应用程序被认证为安全时,确定允许显示其通知栏消息。
具体的,所述预设条件为判定应用程序发送的通知栏消息重要程度是否高于预设值的过滤依据,当该通知栏消息的重要程度高于预设值时,确定允许显示该通知栏消息。
具体的,所述预设条件为判定应用程序发送的通知栏消息被允许显示的用户统计数据是否高于预设值的过滤依据,当该通知栏消息的被允许显示的用户统计数据高于预设值时,确定允许显示该通知栏消息。
进一步的,还包括如下步骤:响应于查看指令,通过用户界面显示未经过滤的由应用程序发送的所有通知栏消息,包括所述允许显示的通知栏消息,和未被允许显示的通知栏消息。
一种应用程序消息显示控制装置,包括:
注入单元,用于向系统注入并运行用于接管系统通知栏服务的控制模块;
过滤单元,用于所述控制模块依据预设条件过滤应用程序发送的通知栏消息以确定允许显示的通知栏消息;
显示单元,用于所述控制模块仅向SystemUI发送显示所述允许显示的通知栏消息的消息指令,使SystemUI仅显示所述允许显示的通知栏消息。
具体的,所述控制模块向SystemUI发送消息指令的过程如下:将确定显示的应用程序的通知栏消息对应的消息标识符和消息对象作为参数替换未被允许显示的应用程序通知栏消息的相应参数,通过所述的消息指令传递该参数通知SystemUI显示消息,从而显示允许显示的通知栏消息而隐藏未被允许显示的通知栏消息。
具体的,所述消息指令为系统提供的接口函数NotificationManager.notify()。
具体的,所述系统通知栏服务具体指NotificationManagerService,用于接收应用程序发送的消息并执行显示操作。
进一步的,还包括白名单生成单元,接收设定白名单的指令,生成用于记录允许显示其发送的通知栏消息的应用程序包名的列表,以构造所述的用于过滤的预设条件。
进一步的,还包括黑名单生成单元,接收设定黑名单的指令,生成用于记录禁止显示其发送的系统消息的应用程序包名的列表,以构造所述的用于过滤的预设条件。
进一步的,所述过滤单元通过远程端口接收云端推送的白名单,以根据该白名单所构造的预设条件实施过滤,以允许显示记录于该白名单中的应用程序包名对应的应用程序发送的通知栏消息。
进一步的,所述过滤单元通过远程端口接收云端推送的黑名单,以根据该黑名单所构造的预设条件实施过滤,以禁止显示记录于该黑名单中的应用程序包名对应的应用程序发送的通知栏消息。
具体的,所述预设条件为判定通知栏消息所属应用程序是否安全的过滤依据,当该应用程序被认证为安全时,确定允许显示其通知栏消息。
具体的,所述预设条件为判定应用程序发送的通知栏消息重要程度是否高于预设值的过滤依据,当该通知栏消息的重要程度高于预设值时,确定允许显示该通知栏消息。
具体的,所述预设条件为判定应用程序发送的通知栏消息被允许显示的用户统计数据是否高于预设值的过滤依据,当该通知栏消息的被允许显示的用户统计数据高于预设值时,确定允许显示该通知栏消息。
具体的,所述显示单元响应于查看指令,通过用户界面显示未经过滤的由应用程序发送的所有通知栏消息,包括所述允许显示的通知栏消息,和未被允许显示的通知栏消息。
相比现有技术,本发明的方案具有以下优点:
1、通过注入控制模块,运行使其接管系统的通知栏管理服务,依据预设条件过滤应用程序发送的通知栏消息,将过滤后允许显示的通知栏消息,发送至SystemUI以显示相应的通知栏消息,从而可以禁止无用通知栏消息的显示,减少无用通知栏消息对用户造成的干扰,同时也不会丢失重要的通知栏消息。
2、本发明依据用户设定的黑白名单过滤应用程序的通知栏消息,使得用户可以自主选择接收的通知栏消息,同时结合云端服务器自动生成的黑白名单,推荐允许或禁止显示的应用程序的通知栏消息,尽可能减少无用通知栏消息,保留有用的重要的且用户需要的应用程序的通知栏消息,使得通知栏消息的显示更符合用户的需求。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明所述应用程序消息显示控制方法原理示意图;
图2为本发明所述应用程序消息显示控制装置示意框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunicationsService,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigitalAssistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(GlobalPositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(MobileInternetDevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(CloudComputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
在Android系统中,状态栏通知是一个重要的功能,系统或应用程序通过系统的通知服务发送通知消息以提醒用户。Notification,即通知,是一种具有全局效果的通知,展示在屏幕的顶端,表现为一个图标的形式,当用户向下滑动的时候展示出通知的具体内容。通知一般通过NotificationManagerService发送一个Notification对象来完成。其中,NotificationManagerService是一个系统级服务,位于应用程序的框架层,应用程序通过接口函数NotificationManager.notify()向系统发送全局通知。具体在发送通知时,需要创建一个Notification对象来承载通知的内容,该对象不会直接通过Notification的构造方法获取,而是通过类Notification.Builder实例化一个Builder对象设置通知的各项属性,通过Notification.Builder.builder()方法得到一个Notification对象,然后使用该Notification对象通过方法NotificationManager.notify()发送通知。其中,Notification对象设置的通知的属性包括图标、文字、提示声音、振动、灯光等。
为了接管上述NotificationManagerService服务,本发明对Root后的Android系统注入相应的控制模块,以实现对应用程序发送的通知栏消息的管理。
众所周知,Root权限是指Unix类操作系统(包括Linux、Android)的系统管理员权限,类似于Windows(视窗)系统中的Administrator(管理员)权限;Root权限可以访问和修改用户的移动设备中几乎所有的文件(Android系统文件及用户文件,不包括ROM)。鉴于此,业内提供了多种多样的提权方案用于获取Android系统的Root权限,实现用户权限提升,达致全面控制操作系统的目的。这些提权方案,依提权后权限作用的生命周期来看,包括永久Root权限和临时Root权限,顾名思义,永久Root权限情况下,应用程序一经Root授权,以后可不必再进行Root提权;而临时Root权限情况下,权限作用的生命周期只是操作系统的一次从开机到关机的过程,下次开机依然需要进行Root。
无论采用何种Root方式,提权的基本原理均是通过向系统植入用于接收权限请求的su,再结合SuperUser.apk应用程序实现人机交互,通过su与SuperUser.apk在运行时的相互配合,来实现有效的权限管理。本发明获取Root权限以便于在系统中注入控制模块,以接管原来的系统通知栏服务NotificationManagerService,对应用程序发送通知的行为进行监控。但采用何种Root方式不作为对本发明的限制。
基于上述原理,参考图1所示,本发明提供一种应用程序消息显示控制方法,包括以下步骤:
S11、向系统注入并运行用于接管系统通知栏服务的控制模块;
为了控制应用程序发送的通知栏消息,可以选择性地为用户提供通知栏消息,向系统注入用于接管系统通知栏服务的控制模块,即接管NotificationManagerService的控制模块,本发明实施例采用注入so文件的方式将控制模块植入进行Root后的Android系统,具体注入过程如下:
首先,暂停系统服务进程,即挂起目的进程;
然后,将修改后的系统服务进程的库文件覆盖原库文件;其中,修改后的库文件中的函数包含本发明所述控制模块的功能代码、jar包、.so文件等。从而将所述监控模块注入系统服务进程,对指定的其他服务进程的特定操作进行监控。
所述控制模块的代码被注入并运行于SystemServer进程,由此接管系统通知栏服务,监控应用程序发送通知栏消息的行为。当有应用程序调用接口函数NotificationManager.notify(intid,Notificationnotification)向NotificationManagerService发送通知时,所述控制模块对其进行拦截,获取消息标识符和消息对象,其中所述消息标识符id用于记录消息对象在内存中的存储地址,消息对象notification用于记录应用程序发送的消息内容、属性等信息。
S12、所述控制模块依据预设条件过滤应用程序发送的通知栏消息以确定允许显示的通知栏消息;
依据预设条件过滤应用程序发送的通知栏消息,以确定允许显示的通知栏消息。在具体实施例中,所述预设条件可以由用户设定的白名单构造,即允许属于白名单的应用程序显示其发送的通知栏消息。用户可以将重要的应用软件设定为白名单,如网银类等软件。接受用户设定白名单的指令,将用户选定的应用程序的包名记录于一个列表以允许该些应用程序显示其发送的通知栏消息。向用户提供一个设定白名单的界面,依次显示所有应用程序,每个应用程序对应提供一个按钮,用于接受用户将其加入白名单的选中操作。该白名单还可以通过远程端口传到云端服务器,对应存储于服务器中与第三方应用账户对应的预分配内存。
在其他具体实施例中,所述预设条件可以由用户设定的黑名单构造,即禁止属于黑名单的应用程序显示其发送的通知栏消息。用户可以对一些经常显示广告通知栏消息的应用软件设定黑名单。接受用户设定黑名单的指令,将用户选定的应用程序的包名记录于一个列表以禁止该些应用程序显示其发送的通知栏消息。向用户提供一个设定黑名单的界面,依次显示所有应用程序,每个应用程序对应提供一个按钮,用于接受用户将其加入黑名单的选中操作。该黑名单还可以通过远程端口传到云端服务器,对应存储于服务器中与第三方应用账户对应的预分配内存。
在其他实施例中,云端服务器配置白名单和/或黑名单,通过远程端口推送该白名单和/或黑名单。采用动态分析方法或静态分析方法分析确定应用程序的安全性,其中,
所述静态分析方法具体操作为:提取安装文件的特征信息,如包名、版本号、MD5签名、代码、字符串等信息,与云端服务器的特征码数据库中的特征码一一进行匹配,根据匹配确定表征安装文件安全性的判定信息,即安全等级信息,根据安全等级确定安装文件是否安全。其中,所述特征码数据库记录特征码信息与该特征码信息所对应的安全等级之间的映射关系。
所述动态分析方法具体操作为:解析安装文件,创建与应用程序运行环境相应的虚拟机环境,监控应用程序运行在所述虚拟机上的动态行为和网络交换信息,根据监控结果确定表征安装文件安全性的判定信息,即安全等级信息,根据安全等级确定安装文件是否安全。
经过上述静态分析或动态分析,将确定安全的应用程序包名记录于白名单,将确定不安全的应用程序包名记录于黑名单。经过远程端口推送相应的白名单和/或黑名单,以允许或禁止显示白名单或黑名单中记录的应用程序发送的通知栏消息。
云端服务器也可以将沙箱中的应用程序放入黑名单推送,沙箱是虚拟软件,通过重定向技术,把应用程序生成和修改的文件定向到自身文件夹中。云端服务器会隔离一些安全性不确定的应用程序,使其运行在虚拟的环境中,与真实的系统环境隔离,以避免其对系统造成威胁。故云端服务器将沙箱中的应用程序放入黑名单,以禁止其显示发送的通知栏消息。
在其他实施例中,通过判定应用程序是否安全,从而确定是否允许其显示发送的通知栏消息。调用安全软件对其进行扫描,如果扫描结果确定其安全,则允许其显示发送的通知栏消息,否则不允许。
在其他实施例中,云端服务器通过统计应用程序被允许显示通知栏消息的用户数量确定是否允许其显示发送的通知栏消息。如果统计的用户数量高于预设值,则允许其显示发送的通知栏消息,将其加入白名单,否则不允许,将其加入黑名单。
根据上述构造的预设条件,对用户系统安装的所有应用程序发送的通知栏消息进行过滤,确定允许显示的通知栏消息。
S13、所述控制模块仅向SystemUI发送显示所述允许显示的通知栏消息的消息指令,使SystemUI仅显示所述允许显示的通知栏消息。
Android2.2以后的版本,都将原本存在于framework-res.apk中的状态栏和下拉通知栏界面控制被分割出一个单独的apk文件,保存在System/app文件夹中。SystemUI.apk包括状态栏图标、XML、控制文件等,将SystemUI.apk分割出来是为了更方便地对其进行修改,以满足开发者的设计需求。其中,SystemUI包括USB和Statusbar两个模块,状态栏主要用来显示一些系统图标、系统时间、应用通知图标、应用通知内容等信息。其中,Statusbar模块用于控制和管理状态栏。
状态栏与Toast都可以起到通知和提醒的作用,但两者的实现原理和表现形式不同。Toast相当于一个Widget组件,类似于没有按钮的对话框。而状态栏可以与系统中的其他应用进行交互,显示其他应用发送的通知栏消息,可以在不使用Activity的情况下给用户提醒和通知。
具体为NotificationManagerService调用notifiy方法发送通知,与StatusBarManagerService通过Binder机制进行交互,将发送的通知传到StatusBarManagerService,由该服务调用addNotification方法将通知消息进行显示,其中,addNotificationViews(keys,notification)用于显示图标,tick(notification)用于显示消息内容。本发明实施例中,所述控制模块接管NotificationManagerService,对应用程序调用notifiy方法发送通知的行为进行拦截,具体可以通过调用cancel函数取消应用程序发通知栏消息的行为,以禁止不允许显示通知栏消息的应用程序。还可以通过将确定显示的应用程序的通知栏消息对应的消息标识符和消息对象作为参数替换未被允许显示的应用程序通知栏消息的相应参数,从而通过notifiy方法传递该参数以显示允许显示的通知栏消息,隐藏未被允许显示的通知栏消息。由此,所述控制模块通过限制被禁止显示的消息的应用程序调用notifiy方法向SystemUI发送显示消息通知栏的消息指令,仅向SystemUI发送显示所述允许显示的通知栏消息的消息指令,从而使SystemUI仅显示所述允许显示的通知栏消息。
此外,对应于所有的应用程序发送的所有通知栏消息提供一个消息管理界面,响应于用户的查看指令,通过该消息管理界面显示未经过滤的由应用程序发送的所有通知栏消息,包括允许显示的通知栏消息和不被允许显示的通知栏消息。
参考图2所示,本发明还提供一种应用程序消息显示控制装置,包括注入单元11、过滤单元12、显示单元13,其中,
注入单元11用于向系统注入并运行用于接管系统通知栏服务的控制模块;
为了控制应用程序发送的通知栏消息,可以选择性地为用户提供通知栏消息,由注入单元11向系统注入用于接管系统通知栏服务的控制模块,即接管NotificationManagerService的控制模块,本发明实施例注入单元11采用注入so文件的方式将控制模块植入进行Root后的Android系统,具体注入过程如下:
首先,暂停系统服务进程,即挂起目的进程;
然后,将修改后的系统服务进程的库文件覆盖原库文件;其中,修改后的库文件中的函数包含本发明所述控制模块的功能代码、jar包、.so文件等。从而将所述监控模块注入系统服务进程,对指定的其他服务进程的特定操作进行监控。
所述控制模块的代码被注入并运行于SystemServer进程,由此接管系统通知栏服务,监控应用程序发送通知栏消息的行为。当有应用程序调用接口函数NotificationManager.notify(intid,Notificationnotification)向NotificationManagerService发送通知时,所述控制模块对其进行拦截,获取消息标识符和消息对象,其中所述消息标识符id用于记录消息对象在内存中的存储地址,消息对象notification用于记录应用程序发送的消息内容、属性等信息。
过滤单元12用于所述控制模块依据预设条件过滤应用程序发送的通知栏消息以确定允许显示的通知栏消息;
过滤单元12依据预设条件过滤应用程序发送的通知栏消息,以确定允许显示的通知栏消息。在具体实施例中,所述预设条件可以由用户设定的白名单构造,即过滤单元12允许属于白名单的应用程序显示其发送的通知栏消息。用户可以将重要的应用软件设定为白名单,如网银类等软件。接受用户设定白名单的指令,将用户选定的应用程序的包名记录于一个列表以允许该些应用程序显示其发送的通知栏消息。向用户提供一个设定白名单的界面,依次显示所有应用程序,每个应用程序对应提供一个按钮,用于接受用户将其加入白名单的选中操作。该白名单还可以通过远程端口传到云端服务器,对应存储于服务器中与第三方应用账户对应的预分配内存。
在其他具体实施例中,所述预设条件可以由用户设定的黑名单构造,即禁止属于黑名单的应用程序显示其发送的通知栏消息。用户可以对一些经常显示广告通知栏消息的应用软件设定黑名单。接受用户设定黑名单的指令,将用户选定的应用程序的包名记录于一个列表以禁止该些应用程序显示其发送的通知栏消息。向用户提供一个设定黑名单的界面,依次显示所有应用程序,每个应用程序对应提供一个按钮,用于接受用户将其加入黑名单的选中操作。该黑名单还可以通过远程端口传到云端服务器,对应存储于服务器中与第三方应用账户对应的预分配内存。
在其他实施例中,云端服务器配置白名单和/或黑名单,通过远程端口推送该白名单和/或黑名单。采用动态分析方法或静态分析方法分析确定应用程序的安全性,其中,
所述静态分析方法具体操作为:提取安装文件的特征信息,如包名、版本号、MD5签名、代码、字符串等信息,与云端服务器的特征码数据库中的特征码一一进行匹配,根据匹配确定表征安装文件安全性的判定信息,即安全等级信息,根据安全等级确定安装文件是否安全。其中,所述特征码数据库记录特征码信息与该特征码信息所对应的安全等级之间的映射关系。
所述动态分析方法具体操作为:解析安装文件,创建与应用程序运行环境相应的虚拟机环境,监控应用程序运行在所述虚拟机上的动态行为和网络交换信息,根据监控结果确定表征安装文件安全性的判定信息,即安全等级信息,根据安全等级确定安装文件是否安全。
经过上述静态分析或动态分析,将确定安全的应用程序包名记录于白名单,将确定不安全的应用程序包名记录于黑名单。经过远程端口推送相应的白名单和/或黑名单,过滤单元12基于该白名单和/或黑名单以允许或禁止显示白名单或黑名单中记录的应用程序发送的通知栏消息。
云端服务器也可以将沙箱中的应用程序放入黑名单推送,沙箱是虚拟软件,通过重定向技术,把应用程序生成和修改的文件定向到自身文件夹中。云端服务器会隔离一些安全性不确定的应用程序,使其运行在虚拟的环境中,与真实的系统环境隔离,以避免其对系统造成威胁。故云端服务器将沙箱中的应用程序放入黑名单,以禁止其显示发送的通知栏消息。
在其他实施例中,通过判定应用程序是否安全,从而确定是否允许其显示发送的通知栏消息。调用安全软件对其进行扫描,如果扫描结果确定其安全,则允许其显示发送的通知栏消息,否则不允许。
在其他实施例中,云端服务器通过统计应用程序被允许显示通知栏消息的用户数量确定是否允许其显示发送的通知栏消息。如果统计的用户数量高于预设值,则允许其显示发送的通知栏消息,将其加入白名单,否则不允许,将其加入黑名单。
根据上述构造的预设条件,过滤单元12对用户系统安装的所有应用程序发送的通知栏消息进行过滤,确定允许显示的通知栏消息。
显示单元13用于所述控制模块仅向systemUI发送显示所述允许显示的通知栏消息的消息指令,使systemUI仅显示所述允许显示的通知栏消息。
Android2.2以后的版本,都将原本存在于framework-res.apk中的状态栏和下拉通知栏界面控制被分割出一个单独的apk文件,保存在System/app文件夹中。SystemUI.apk包括状态栏图标、XML、控制文件等,将SystemUI.apk分割出来是为了更方便地对其进行修改,以满足开发者的设计需求。其中,SystemUI包括USB和Statusbar两个模块,状态栏主要用来显示一些系统图标、系统时间、应用通知图标、应用通知内容等信息。其中,Statusbar模块用于控制和管理状态栏。
状态栏与Toast都可以起到通知和提醒的作用,但两者的实现原理和表现形式不同。Toast相当于一个Widget组件,类似于没有按钮的对话框。而状态栏可以与系统中的其他应用进行交互,显示其他应用发送的通知栏消息,可以在不使用Activity的情况下给用户提醒和通知。
具体为NotificationManagerService调用notifiy方法发送通知,与StatusBarManagerService通过Binder机制进行交互,将发送的通知传到StatusBarManagerService,由该服务调用addNotification方法将通知消息进行显示,其中,addNotificationViews(keys,notification)用于显示图标,tick(notification)用于显示消息内容。本发明实施例中,所述控制模块接管NotificationManagerService,对应用程序调用notifiy方法发送通知的行为进行拦截,具体可以通过调用cancel函数取消应用程序发通知栏消息的行为,以禁止不允许显示通知栏消息的应用程序。还可以通过将确定显示的应用程序的通知栏消息对应的消息标识符和消息对象作为参数替换未被允许显示的应用程序通知栏消息的相应参数,从而通过notifiy方法传递该参数以使显示单元13显示允许显示的通知栏消息,隐藏未被允许显示的通知栏消息。由此,所述控制模块通过限制被禁止显示的消息的应用程序调用notifiy方法向显示单元13的SystemUI发送显示消息通知栏的消息指令,仅向显示单元13的SystemUI发送显示所述允许显示的通知栏消息的消息指令,从而使显示单元13的SystemUI仅显示所述允许显示的通知栏消息。
此外,对应于所有的应用程序发送的所有通知栏消息,显示单元13提供一个消息管理界面,响应于用户的查看指令,通过该消息管理界面显示未经过滤的由应用程序发送的所有通知栏消息,包括允许显示的通知栏消息和不被允许显示的通知栏消息。
综上所述,本发明通过注入控制模块的方式,使该控制模块控制应用程序发送的通知栏消息的显示,基于用户预设和/或云端服务器推送的黑白名单,仅显示允许显示的通知栏消息,隐藏不允许显示的通知栏消息,有选择性地向用户展示通知栏消息,既避免了无用的消息频繁弹出干扰用户,也不丢失有用的消息,更符合用户需求,提高了用户体验度。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种应用程序消息显示控制方法,其特征在于,包括以下步骤:
向系统注入并运行用于接管系统通知栏服务的控制模块;
所述控制模块依据预设条件过滤应用程序发送的通知栏消息以确定允许显示的通知栏消息;
所述控制模块仅向SystemUI发送显示所述允许显示的通知栏消息的消息指令,使SystemUI仅显示所述允许显示的通知栏消息。
2.根据权利要求1所述的方法,其特征在于,所述控制模块向SystemUI发送消息指令的过程如下:将确定显示的应用程序的通知栏消息对应的消息标识符和消息对象作为参数替换未被允许显示的应用程序通知栏消息的相应参数,通过所述的消息指令传递该参数通知SystemUI显示消息,从而显示允许显示的通知栏消息而隐藏未被允许显示的通知栏消息。
3.根据权利要求2所述的方法,其特征在于,所述消息指令为系统提供的接口函数NotificationManager.notify()。
4.根据权利要求1所述的方法,其特征在于,所述系统通知栏服务具体指NotificationManagerService,用于接收应用程序发送的消息并执行显示操作。
5.根据权利要求1所述的方法,其特征在于,还包括如下步骤:接收设定白名单的指令,生成用于记录允许显示其发送的通知栏消息的应用程序包名的列表,以构造所述的用于过滤的预设条件。
6.一种应用程序消息显示控制装置,其特征在于,包括:
注入单元,用于向系统注入并运行用于接管系统通知栏服务的控制模块;
过滤单元,用于所述控制模块依据预设条件过滤应用程序发送的通知栏消息以确定允许显示的通知栏消息;
显示单元,用于所述控制模块仅向SystemUI发送显示所述允许显示的通知栏消息的消息指令,使SystemUI仅显示所述允许显示的通知栏消息。
7.根据权利要求6所述的装置,其特征在于,所述控制模块向SystemUI发送消息指令的过程如下:将确定显示的应用程序的通知栏消息对应的消息标识符和消息对象作为参数替换未被允许显示的应用程序通知栏消息的相应参数,通过所述的消息指令传递该参数通知SystemUI显示消息,从而显示允许显示的通知栏消息而隐藏未被允许显示的通知栏消息。
8.根据权利要求7所述的装置,其特征在于,所述消息指令为系统提供的接口函数NotificationManager.notify()。
9.根据权利要求6所述的装置,其特征在于,所述系统通知栏服务具体指NotificationManagerService,用于接收应用程序发送的消息并执行显示操作。
10.根据权利要求6所述的装置,其特征在于,还包括白名单生成单元,接收设定白名单的指令,生成用于记录允许显示其发送的通知栏消息的应用程序包名的列表,以构造所述的用于过滤的预设条件。
CN201510330052.XA 2015-06-15 2015-06-15 应用程序消息显示控制方法及装置 Active CN105183307B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510330052.XA CN105183307B (zh) 2015-06-15 2015-06-15 应用程序消息显示控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510330052.XA CN105183307B (zh) 2015-06-15 2015-06-15 应用程序消息显示控制方法及装置

Publications (2)

Publication Number Publication Date
CN105183307A true CN105183307A (zh) 2015-12-23
CN105183307B CN105183307B (zh) 2018-05-04

Family

ID=54905418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510330052.XA Active CN105183307B (zh) 2015-06-15 2015-06-15 应用程序消息显示控制方法及装置

Country Status (1)

Country Link
CN (1) CN105183307B (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105631322A (zh) * 2015-12-25 2016-06-01 北京奇虎科技有限公司 免root对通知栏进行管理的方法及装置
CN105743774A (zh) * 2016-01-28 2016-07-06 广州市动景计算机科技有限公司 推送信息监控装置、推送信息监控方法及客户端
CN105808235A (zh) * 2016-02-24 2016-07-27 北京奇虎科技有限公司 移动终端通知栏消息的管理方法、装置及移动终端
CN105808288A (zh) * 2016-02-26 2016-07-27 深圳天珑无线科技有限公司 操作系统推送消息的控制方法及装置
CN105892818A (zh) * 2016-03-31 2016-08-24 北京金山安全软件有限公司 一种信息处理方法、装置及电子设备
CN105892833A (zh) * 2015-12-30 2016-08-24 乐视致新电子科技(天津)有限公司 一种弹出消息的处理方法及装置
CN106020814A (zh) * 2016-05-16 2016-10-12 北京奇虎科技有限公司 通知栏消息的处理方法、装置及移动终端
CN106027788A (zh) * 2016-06-21 2016-10-12 珠海市魅族科技有限公司 弹出信息的处理方法及装置
CN106095463A (zh) * 2016-06-22 2016-11-09 北京金山安全软件有限公司 通知栏消息处理方法、装置和终端设备
CN106130974A (zh) * 2016-06-21 2016-11-16 广东欧珀移动通信有限公司 一种拦截通知的方法及终端
CN106203150A (zh) * 2016-06-22 2016-12-07 广州市久邦数码科技有限公司 一种基于安卓系统的通知管理方法及其系统
CN106210009A (zh) * 2016-06-30 2016-12-07 宇龙计算机通信科技(深圳)有限公司 一种应用程序的通知处理方法及系统
CN106354571A (zh) * 2016-08-29 2017-01-25 北京小米移动软件有限公司 消息提醒方法及装置
CN106375349A (zh) * 2016-11-29 2017-02-01 北京元心科技有限公司 多系统通知消息处理方法及装置
CN106371824A (zh) * 2016-08-23 2017-02-01 广州优视网络科技有限公司 便携式设备及应用程序弹出消息显示控制方法和装置
CN106685801A (zh) * 2016-12-26 2017-05-17 维沃移动通信有限公司 一种通知消息的控制方法及移动终端
CN107071751A (zh) * 2016-12-30 2017-08-18 广东欧珀移动通信有限公司 一种基于移动终端架构的消息拦截方法以及移动终端
CN107305499A (zh) * 2016-04-22 2017-10-31 中兴通讯股份有限公司 清理移动终端通知消息的方法和装置
CN107329761A (zh) * 2017-06-30 2017-11-07 联想(北京)有限公司 一种消息的提示处理方法和电子设备
CN107864275A (zh) * 2017-10-27 2018-03-30 广东欧珀移动通信有限公司 应用程序设置方法及装置
CN108572853A (zh) * 2018-04-24 2018-09-25 北京奇虎科技有限公司 系统隐藏方法的接口提供方法、装置和计算设备
CN109085913A (zh) * 2018-08-27 2018-12-25 珠海格力电器股份有限公司 App消息推送管理方法、智能终端和存储介质
CN110737491A (zh) * 2018-07-20 2020-01-31 北京字节跳动网络技术有限公司 通知展示方法、装置、设备及计算机可读存储介质
CN114741210A (zh) * 2020-12-23 2022-07-12 成都鼎桥通信技术有限公司 多系统通知消息处理方法、装置、终端及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040004975A (ko) * 2002-07-08 2004-01-16 백태선 양변기 자동배수장치
CN102693394A (zh) * 2012-06-07 2012-09-26 奇智软件(北京)有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN102752730A (zh) * 2012-07-19 2012-10-24 腾讯科技(深圳)有限公司 消息处理的方法及装置
CN103080936A (zh) * 2010-09-01 2013-05-01 摩托罗拉移动有限责任公司 用于根据用户偏好减少到移动设备的通知的方法和系统
CN103116722A (zh) * 2013-02-06 2013-05-22 北京奇虎科技有限公司 一种通知栏消息的处理方法、装置和系统
CN103546641A (zh) * 2013-10-29 2014-01-29 广东欧珀移动通信有限公司 移动终端通知栏消息过滤方法与装置
CN103577749A (zh) * 2013-11-15 2014-02-12 北京奇虎科技有限公司 通知栏消息的处理方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040004975A (ko) * 2002-07-08 2004-01-16 백태선 양변기 자동배수장치
CN103080936A (zh) * 2010-09-01 2013-05-01 摩托罗拉移动有限责任公司 用于根据用户偏好减少到移动设备的通知的方法和系统
CN102693394A (zh) * 2012-06-07 2012-09-26 奇智软件(北京)有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN102752730A (zh) * 2012-07-19 2012-10-24 腾讯科技(深圳)有限公司 消息处理的方法及装置
CN103116722A (zh) * 2013-02-06 2013-05-22 北京奇虎科技有限公司 一种通知栏消息的处理方法、装置和系统
CN103546641A (zh) * 2013-10-29 2014-01-29 广东欧珀移动通信有限公司 移动终端通知栏消息过滤方法与装置
CN103577749A (zh) * 2013-11-15 2014-02-12 北京奇虎科技有限公司 通知栏消息的处理方法和装置

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105631322A (zh) * 2015-12-25 2016-06-01 北京奇虎科技有限公司 免root对通知栏进行管理的方法及装置
CN105892833A (zh) * 2015-12-30 2016-08-24 乐视致新电子科技(天津)有限公司 一种弹出消息的处理方法及装置
CN105743774A (zh) * 2016-01-28 2016-07-06 广州市动景计算机科技有限公司 推送信息监控装置、推送信息监控方法及客户端
CN105808235A (zh) * 2016-02-24 2016-07-27 北京奇虎科技有限公司 移动终端通知栏消息的管理方法、装置及移动终端
CN105808288A (zh) * 2016-02-26 2016-07-27 深圳天珑无线科技有限公司 操作系统推送消息的控制方法及装置
CN105892818A (zh) * 2016-03-31 2016-08-24 北京金山安全软件有限公司 一种信息处理方法、装置及电子设备
CN107305499B (zh) * 2016-04-22 2022-03-04 中兴通讯股份有限公司 清理移动终端通知消息的方法和装置
CN107305499A (zh) * 2016-04-22 2017-10-31 中兴通讯股份有限公司 清理移动终端通知消息的方法和装置
CN106020814A (zh) * 2016-05-16 2016-10-12 北京奇虎科技有限公司 通知栏消息的处理方法、装置及移动终端
CN106130974A (zh) * 2016-06-21 2016-11-16 广东欧珀移动通信有限公司 一种拦截通知的方法及终端
CN106027788A (zh) * 2016-06-21 2016-10-12 珠海市魅族科技有限公司 弹出信息的处理方法及装置
CN106203150A (zh) * 2016-06-22 2016-12-07 广州市久邦数码科技有限公司 一种基于安卓系统的通知管理方法及其系统
CN106095463A (zh) * 2016-06-22 2016-11-09 北京金山安全软件有限公司 通知栏消息处理方法、装置和终端设备
CN106210009A (zh) * 2016-06-30 2016-12-07 宇龙计算机通信科技(深圳)有限公司 一种应用程序的通知处理方法及系统
CN106371824A (zh) * 2016-08-23 2017-02-01 广州优视网络科技有限公司 便携式设备及应用程序弹出消息显示控制方法和装置
CN106354571A (zh) * 2016-08-29 2017-01-25 北京小米移动软件有限公司 消息提醒方法及装置
CN106354571B (zh) * 2016-08-29 2019-12-27 北京小米移动软件有限公司 消息提醒方法及装置
CN106375349A (zh) * 2016-11-29 2017-02-01 北京元心科技有限公司 多系统通知消息处理方法及装置
CN106375349B (zh) * 2016-11-29 2019-11-08 北京元心科技有限公司 多系统通知消息处理方法及装置
CN106685801A (zh) * 2016-12-26 2017-05-17 维沃移动通信有限公司 一种通知消息的控制方法及移动终端
CN107071751B (zh) * 2016-12-30 2019-09-17 Oppo广东移动通信有限公司 一种基于移动终端架构的消息拦截方法以及移动终端
CN107071751A (zh) * 2016-12-30 2017-08-18 广东欧珀移动通信有限公司 一种基于移动终端架构的消息拦截方法以及移动终端
CN107329761A (zh) * 2017-06-30 2017-11-07 联想(北京)有限公司 一种消息的提示处理方法和电子设备
CN107329761B (zh) * 2017-06-30 2021-01-15 联想(北京)有限公司 一种消息的提示处理方法和电子设备
CN107864275A (zh) * 2017-10-27 2018-03-30 广东欧珀移动通信有限公司 应用程序设置方法及装置
CN108572853A (zh) * 2018-04-24 2018-09-25 北京奇虎科技有限公司 系统隐藏方法的接口提供方法、装置和计算设备
CN110737491A (zh) * 2018-07-20 2020-01-31 北京字节跳动网络技术有限公司 通知展示方法、装置、设备及计算机可读存储介质
CN110737491B (zh) * 2018-07-20 2024-04-05 北京字节跳动网络技术有限公司 通知展示方法、装置、设备及计算机可读存储介质
CN109085913A (zh) * 2018-08-27 2018-12-25 珠海格力电器股份有限公司 App消息推送管理方法、智能终端和存储介质
CN114741210A (zh) * 2020-12-23 2022-07-12 成都鼎桥通信技术有限公司 多系统通知消息处理方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN105183307B (zh) 2018-05-04

Similar Documents

Publication Publication Date Title
CN105183307A (zh) 应用程序消息显示控制方法及装置
CN104376263B (zh) 应用程序行为拦截的方法和装置
CN104462961B (zh) 移动终端及其隐私权限优化方法
CN103198255B (zh) 一种Android软件敏感行为监控与拦截方法及系统
CN104408367B (zh) 应用程序配置方法与装置
CN104375494B (zh) 安全沙箱构造方法及装置
CN105095746A (zh) 应用程序启动鉴权方法及装置
CN104850779A (zh) 应用程序安全安装方法及其装置
CN104376256B (zh) 应用程序进程孵化控制方法及装置
CN105830477A (zh) 集成操作系统的域管理
CN102118749A (zh) 用于移动终端的网络访问控制装置、以及移动终端设备
CN105072255A (zh) 移动设备隐私权限控制方法、装置及相应的手机设备
CN103077335A (zh) 在移动终端中控制权限的装置和方法
CN104484259A (zh) 应用程序的流量监控方法、装置和移动终端
CN103677935A (zh) 一种应用程序的安装控制方法、系统及装置
CN105323261A (zh) 数据检测方法及装置
CN104239786A (zh) 免root主动防御配置方法及装置
CN101483658B (zh) 浏览器输入内容保护的系统和方法
CN103108074A (zh) 用于保护移动终端的设备和方法
CN104486086B (zh) 数字签名方法及移动终端和服务器
US20170316209A1 (en) Method and device for preventing application in an operating system from being uninstalled
CN106650422A (zh) 一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法
CN105550595A (zh) 用于智能通信设备的隐私数据访问方法及系统
CN105094996A (zh) 基于动态权限验证的Android系统安全增强方法及系统
CN104252374A (zh) 基于架构改变的程序管控方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220727

Address after: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee after: 3600 Technology Group Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230627

Address after: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: Beijing Hongxiang Technical Service Co.,Ltd.

Address before: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee before: 3600 Technology Group Co.,Ltd.

CP03 Change of name, title or address

Address after: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: Beijing 360 Zhiling Technology Co.,Ltd.

Country or region after: China

Address before: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee before: Beijing Hongxiang Technical Service Co.,Ltd.

Country or region before: China