免root对通知栏进行管理的方法及装置的制造方法_3

文档序号:9866046阅读:来源:国知局
的通知栏管理方式。例如,在用户配置界面上,列出各个目标应用,并默认各个目标应用的 通知消息管理策略为"不接收通知消息",或则,根据历史学习结果,有针对性的建议一些目 标应用的管理策略为"接收通知消息"。例如,对于银行APP,由于发送的常常是与用户银行 账户信息相关或金额变动的通知消息,因此可W将此类APP的管理策略默认设置为"接收通 知消息"。用户在配置界面的默认设置基础上,调整并确认各个目标应用的管理策略。
[0085] 本发明中,可为用户提供至少Ξ种关于目标应用的通知消息管理策略。第一种策 略是,直接拦截目标应用的所有通知消息。运种策略适合经常发送对用户而言无关紧要甚 至造成骚扰的通知消息的APP,例如,用户不需要诸如淘宝网等电商APP的通知消息,此时可 将该APP配置为该第一策略。第二种策略是,放行目标应用所有通知消息。该种策略适用于 对用户而言不想错过任何通知消息的APP,如上面例子中的金融类APP。第Ξ种策略是拦截 目标应用的通知消息后经消息内容分析后确定是否放行。可见,第Ξ种策略需要对通知消 息内容进行分析后,再确定是否放行或者删除。如何获取通知消息的消息内容,在后续关于 步骤S103-S104中会详细描述。运种方式介于第一种方式和第二种方式之间,是一种较为 折中的方式。例如,对于某个APP,大部分发送的通知消息对用户而言是有价值的,但是有时 也会发送广告等垃圾消息,因此,用户可W针对运类APP配置为该第Ξ种策略。
[0086] 为了具体实现上述Ξ种管理策略,可W在安全应用的终端本地或服务器侧设置策 略名单,用于记录各个策略对应的目标应用列表。具体的,设置针对目标应用的通知栏管理 的第一策略目标应用名单、第二策略目标应用名单和第Ξ策略目标应用名单,用于按照目 标应用的管理策略将目标应用登记到对应的名单。例如,可W在名单中记录目标应用的标 识。
[0087] S103:安全应用通过通知栏监听服务监听到目标应用发起通知消息事件,并获取 到通知消息的相关信息。
[0088] 为了获取系统通知相关信息,主要包括:通知的新增和删除,获取当前通知数量, 通知内容相关信息等,可W通过NotificationListenerSe;rvice类提供的方法W及 Sl:a1:usBarNotif ication 类对象来获取。
[0089] 例如,可W通过NotificationListenerService类提供的方法W及 Sl:a1:usBarNotif ication 类对象来获取。
[0090] Notif icationListenerService 主要方法(成员变量)包括:
[0091 ] (l)cancelAllNotifications():删除系统中所有可被清除的通知;
[0092] (2)cancelNotification(Sl:;ring pkg,Sl:;ring tag,int id):删除具体某一个通 知;
[0093] (3)getActiveNotifications():返回当前系统所有通知到 StatusBarNotif ication[];
[0094] (4)onNotificatio吐osted(Sta1:usBarNotif ication sbn):当系统收到新的通知 后出发回调;
[00巧](5)onNotificationRemoved(Sl:a1:usBarNotification sbn):当系统通知被删掉 后出发回调。
[0096] W上是NotificationListenerSe;rvice的主要方法,通过运些方法就可W在安全 应用中操作系统通知。
[0097] 在Notif icationListenerService中除了对通知的操作之外,还可W获取到通知 的StatusBarNo t i f i cat i on对象,通过该对象可W获取通知更详细的数据。
[009引 Sl:a1:usBarNotif ication主要方法(成员变量)包括:
[0099] (l)getld():返回通知对应的id;
[0100] (2)getNotification〇 :返回通知对象;
[0101 ] (3)ge1:PackageName():返回通知对应的包名;
[0102] (4)ge1:PostTime():返回通知发起的时间;
[0103] (5)getTag():返回通知的Tag,如果没有设置返回null;
[0104] (6)getUserId():返回Userid,用于多用户场景;
[0105] (7) isClearable():返回该通知是否可被清除,FLAG_0NG0ING_EVENT、FLAG_N0_ CLEAR;
[0106] (8)is0ngoing():检查该通知的flag是否为FLAG_0NG0ING_EVENT。
[0107] 可见,安全应用通过通过调用通知栏监听服务中的onNotif ication化sted方法, 可W监听到目标应用发起通知消息事件;并且通过读取通知栏监听服务中的 S化化sBarNot if ication对象,得到通知消息的内容数据及配置数据。
[0108] S104:安全应用根据通知消息的相关信息,按照目标应用对应的管理策略,对通知 消息进行处理。
[0109] 具体的:首先,安全应用根据通知消息的配置数据中携带的目标应用标识,确定通 知消息对应的目标应用;然后,确定目标应用对应的管理策略,例如,通过查找第一策略目 标应用名单、第二策略目标应用名单和第Ξ策略目标应用名单,确定目标应用对应的管理 策略;最后,按照管理策略进行处理:如果是第一管理策略,则删除通知消息;如果是第二管 理策略,则将通知消息在通知栏上进行显示;如果是第Ξ管理策略,则进一步根据解析得到 的通知消息的内容数据,在预置的白通知数据库和/或黑通知数据库中进行匹配,确定通知 消息是否为垃圾通知消息,如果为垃圾通知消息,则删除通知消息,否则,将通知消息在通 知栏上进行显示。
[0110] 对于第Ξ种策略,可预先设置白通知数据库和/或黑通知数据库的方式,实现对通 知消息的过滤。例如,通过学习大量垃圾消息的字段/关键词/关键字,得到黑通知数据库。 同理,可W得到白通知数据库。在具体处理时,需要将解析通知消息得到的内容数据与白通 知数据库和黑通知数据库进行匹配,当在黑通知数据库中匹配成功时,则确定为黑通知,需 要删除;当在白通知数据库中匹配成功时,则确定为白通知,需要在通知栏中进行显示;当 在黑通知数据库和白通知数据库中均未匹配成功时,即不确定该通知消息内容是否未垃圾 内容时,为了避免用户错失重要消息,可将运类消息进行通知栏显示。
[0111] 下面W-段完整代码举例说明本发明方法的实现过程。
[0112] 注册通知栏监听服务化Service,即:继承NotificationListenerServic
[0113] (适用于A化ο id系统的SDK版本大于等于18):
[0114]
[011日]满足服务生效的第二个条件:AmlroidManifest. xml必须加入权限
[0116]
[0117] 2、引导用户设置
[0118] private static final String
[0119] ACTION_NOTIFICATION_LISTEWR_SETTINGS = "android.settings.ACTION_ N0TIFICATI0N_LISTE 肥 R_WTTINGS";
[0120] s^dActivity(newIntent(ACTION_NOTIFICATION_LISTEWR_WTTINGS));
[0121] 3、获取通知栏数据的方法:
[0122]
[0123] 4、如何操作由监听服务(化Service)提供的数据
[0124] 4.1、将需要接管的数据保存(数据由onNotification化sted来提供,是否接管由 安全应用自定义)
[0125] 4.2、实现自主管理操作
[0126] 增加 ; sStatusBarNot if icat ionRecords. put (remove. pk邑,records);
[0127] 删除;sNotificationListenerServiceObject.cancelNotification (remove .pkg, remove . tag , remove . id);(sNotif icationListenerServiceObject为 化Service对象);
[0128] 刷新已接管通知栏的条数:
[0129] ShieldServiceManager . getShieldClientManager() .onHiddenNotificationCount Changed(newSize);
[0130] 4.3、目标APP管理策略名单设置:
[0131] 将开关状态值写入数据库保存,在界面显示时根据状态值是否决定展示。
[0132] 可见,本发明通过注册系统底层提供的通知栏监听服务,并使安全应用得到该通 知栏监听服务的权限,从而使得安全应用可W对在其界面上预先登记的目标应用进行通知 栏管理。由于本发明利用了系统底层的通知栏监听服务,从而在非ROOT情况下就可W实现 对目标应用通知消息的管理,运对于权限较低的用户特别适合,而且由于免ROOT权限,可W 保证一些非法软件无机可乘,提高系统的安全性。
[0133] 而且,本发明针对目标应用提供了多个管理策略,包括直接放行、直接删除W及根 据消息内容进行放行或删除的方式,从而满足用户对各类不同目标应用的管理需求,在不 错过重要应用的通知消息的基础上,又保证不被垃圾消息打扰。
[0134] 与上述方法相对应,本发明还提供一种免ROOT条件下对通知栏进行管理装置,该 装置用于在安卓系统中对至少一个目标应用的通知消息进行管理。
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1