一种短信应用区别授权接管的方法及系统

文档序号:1966230 发布日期:2021-12-14 浏览:11次 >En<

阅读说明:本技术 一种短信应用区别授权接管的方法及系统 (Method and system for distinguishing authorization takeover by short message application ) 是由 马钰璐 蒋欧阳 邓勇 于 2021-09-08 设计创作,主要内容包括:本发明涉及一种短信应用区别授权接管的方法及系统,涉及手机终端技术领域。本发明判断当前短信应用的包名是否与第三方短信应用的包名匹配,得到第一判断结果;当第一判断结果为当前短信应用的包名与第三方短信应用的包名不匹配时,启动系统短信应用;当第一判断结果为所述当前短信应用的包名与第三方短信应用的包名匹配时,提取所述当前短信的报文头,并根据报文头确定所述当前短信的类别;当所述当前短信的类别为所述普通短信时,启动所述第三方短信应用;当所述当前短信的类别为所述特殊短信时,启动所述系统短信应用。本发明既能让第三方短信应用正常使用,满足智能终端生态的发展要求,又能使特殊类型的短信能正常的被终端接收和展示。(The invention relates to a method and a system for distinguishing authorized takeover by short message application, and relates to the technical field of mobile phone terminals. The method comprises the steps of judging whether the packet name of the current short message application is matched with the packet name of the third-party short message application or not to obtain a first judgment result; when the first judgment result is that the packet name of the current short message application is not matched with the packet name of the third-party short message application, starting the system short message application; when the first judgment result is that the packet name of the current short message application is matched with the packet name of the third-party short message application, extracting the message header of the current short message, and determining the category of the current short message according to the message header; when the type of the current short message is the common short message, starting the third-party short message application; and when the type of the current short message is the special short message, starting the system short message application. The invention can not only enable the short message application of a third party to be normally used, meet the ecological development requirement of the intelligent terminal, but also enable the short messages of special types to be normally received and displayed by the terminal.)

一种短信应用区别授权接管的方法及系统

技术领域

本发明涉及智能手机终端技术领域,特别是涉及一种短信应用区别授权接管的方法及系统。

背景技术

安卓兼容手机上系统应用的接管是很普遍应用的技术,比如第三方开发者开发的类短信应用来替代安卓自带的系统短信app。在实际应用中,目前的技术实现方式存在一个比较严重的问题,即系统短信APP都必须实现完整的SMS短信协议栈(涉及终端入网要求),包括普通短信、Class0级短信、PDU短信等。

而第三方APP通常只是实现普通短信功能,并在此基础上实现各具特色的功能。因为完整实现协议栈需具备较高的开发和测试门槛,许多第三方开发者并不具备。因此,在第三方应用接管了系统短信APP后,当手机收到Class0级短信时,第三方应用通常不处理,或者以错误的方式处理,而Class0级短信通常是由政府机构委托给运营商发送的用于紧急通知、安全提醒等用途,不能忽略处理。

因此,亟需一种短信应用区别授权接管的方法及系统,既能让第三方短信应用正常使用,又能使特殊类型的短信能被正常接收。

发明内容

本发明的目的是提供一种短信应用区别授权接管的方法及系统,既能让第三方短信应用正常使用,满足智能终端生态的发展要求,又能使特殊类型的短信能正常的被终端接收和展示。

为实现上述目的,本发明提供了如下方案:

一种短信应用区别授权接管的方法,包括:

获取当前短信应用的包名;所述当前短信应用为当前持有ROLE_SMS的短信应用;

判断所述当前短信应用的包名是否与第三方短信应用的包名匹配,得到第一判断结果;

当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,启动系统短信应用;

当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名匹配时,提取当前短信的报文头,并根据所述报文头确定所述当前短信的类别;所述当前短信的类别包括普通短信和特殊短信;

当所述当前短信的类别为所述普通短信时,启动所述第三方短信应用;

当所述当前短信的类别为所述特殊短信时,启动所述系统短信应用。

可选地,所述获取当前短信应用的包名,具体包括:

调用安卓电话框架模块API以获取当前短信应用的包名。

可选地,所述特殊短信包括Class0级短信、PDU短信、小区报警短信和RCS消息短信。

可选地,所述短信应用区别授权接管的方法,还包括:

在所述第三方短信应用首次启动并请求接管短信时,弹出短信应用列表,以供用户选择所述第三方短信应用接管的短信;所述短信应用列表为持有ROLE_SMS的短信的应用列表。

可选地,所述当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,启动系统短信应用,具体包括:

当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,创建指向系统短信应用的Intent,以启动所述系统短信应用。

可选地,所述当所述当前短信的类别为所述普通短信时,启动所述第三方短信应用,具体包括:

当所述当前短信为所述普通短信时,创建指向第三方短信应用的Intent,以启动所述第三方短信应用。

为实现上述目的,本发明还提供了如下技术方案:

一种短信应用区别授权接管的系统,包括:

包名获取模块,用于获取当前短信应用的包名;所述当前短信应用为当前持有ROLE_SMS的短信应用;

第一判断模块,用于判断所述当前短信应用的包名是否与第三方短信应用的包名匹配,得到第一判断结果;

系统短信第一接管模块,用于当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,启动系统短信应用;

当前短信类别判断模块,用于当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名匹配时,提取当前短信的报文头,并根据所述报文头确定所述当前短信的类别;所述当前短信的类别包括普通短信和特殊短信;

第三方短信接管模块,用于当所述当前短信的类别为所述普通短信时,启动所述第三方短信应用;

系统短信第二接管模块,用于当所述当前短信的类别为所述特殊短信时,启动所述系统短信应用。

可选地,所述包名获取模块,具体包括:

调用安卓电话框架模块API以获取当前短信应用的包名。

可选地,所述特殊短信包括Class0级短信、PDU短信、小区报警短信和RCS消息短信。

可选地,所述短信应用区别授权接管的系统,还包括:

预设置模块,用于在所述第三方短信应用首次启动并请求接管短信时,弹出短信应用列表,以供用户选择所述第三方短信应用接管的短信;所述短信应用列表为持有ROLE_SMS的短信的应用列表。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

首先获取当前持有ROLE_SMS的短信应用的包名,判断当前持有ROLE_SMS的短信应用的包名是否与第三方短信应用的包名匹配;如果当前持有ROLE_SMS的短信应用的包名与第三方短信应用的包名不匹配,那么启动系统短信应用来接管短信;如果当前持有ROLE_SMS的短信应用的包名与第三方短信应用的包名匹配,那么则提取当前短信的报文头,根据报文头确定当前短信的类别;如果当前短信的类别是普通短信,那么启动第三方短信应用来接管短信,如果当前短信的类别是特殊短信,那么启动系统短信应用来接管短信。本发明既能实现让第三方短信应用正常使用,又能使特殊类别的短信能正常的被终端的系统短信应用接收和展示。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明短信应用区别授权接管的方法的流程示意图;

图2为本发明短信应用区别授权接管的系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种短信应用区别授权接管的方法及系统,既能让第三方短信应用正常使用,满足智能终端生态的发展要求,又能使特殊类型的短信能正常的被终端接收和展示。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例一

如图1所示,本实施例提供一种短信应用区别授权接管的方法,包括:

步骤100,获取当前短信应用的包名;所述当前短信应用为当前持有ROLE_SMS的短信应用。具体地,调用安卓电话框架模块API以获取当前短信应用的包名。

步骤101,判断所述当前短信应用的包名是否与第三方短信应用的包名匹配,得到第一判断结果。

安卓兼容的手机操作系统里,每个应用都有独立的包名,如系统原生短信应用的包名是com.google.messages,而某个第三方开发的短信应用的包名可能是com.some3rdcompany.sms等。安卓框架的ROLE_SMS变量保存在当前哪个短信应用中,那么该短信应用负责对短信事件的响应与处理。

而此处判断所述当前短信应用的包名是否与第三方短信应用的包名匹配,即判断当前持有ROLE_SMS的短信应用是否为第三方短信应用。

步骤102,当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,启动系统短信应用。具体地,所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,即当前短信应用的包名的字符串与第三方短信应用的包名的字符串不一致时,说明系统短信应用没有被第三方短信应用接管,系统通信应用继续负责处理接收到的短信,此时创建指向系统短信应用的Intent,并填充短信数据以启动所述系统短信应用。

步骤103,当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名匹配时,提取当前短信的报文头,并根据所述报文头确定所述当前短信的类别;所述当前短信的类别包括普通短信和特殊短信。所述特殊短信包括Class0级短信、PDU短信、小区报警短信和RCS消息短信。具体地,当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名匹配时,即当前短信应用的包名的字符串与第三方短信应用的包名的字符串一致时,说明系统短信应用已经被第三方短信应用接管。

步骤104,当所述当前短信的类别为所述普通短信时,启动所述第三方短信应用。具体地,当所述当前短信为所述普通短信时,创建指向第三方短信应用的Intent,并填充短信数据以启动所述第三方短信应用来处理短信数据。

步骤105,当所述当前短信的类别为所述特殊短信时,启动所述系统短信应用。具体地,当所述当前短信为所述特殊短信时,创建指向第三方短信应用的Intent,并填充短信数据,以启动系统短信应用处理短信数据,避免特殊短信的数据丢失或被忽略。

在本发明具体实施例中,所述短信应用区别授权接管的方法,还包括:

在所述第三方短信应用首次启动并请求接管短信时,弹出短信应用列表,以供用户选择所述第三方短信应用接管的短信;所述短信应用列表为持有ROLE_SMS的短信的应用列表。

实施例二

如图2所示,本实施例提供一种短信应用区别授权接管的系统,所述短信应用区别授权接管的系统设置在安卓手机框架层的短信功能部分。所述短信应用区别授权接管的系统在处理从外部接收到短信时,根据若干条件启动相关短信应用,并对之传递短信内容。

第一个条件是当前持有ROLE_SMS的应用,也就是当前接管系统短信的应用,如果此时是系统短信应用本身接管了持有ROLE_SMS的短信应用,则继续由系统短信应用处理;如果此时是第三方短信应用接管了ROLE_SMS的短信应用,那么采用第二个条件继续进行判断。第二个条件是当前短信的类型,如果是普通短信,那么第三方短信应用继续进行短信处理,如果是Class 0级短信、PDU短信等特殊短信,那么将短信交由系统短信应用进行短信处理。

所述短信应用区别授权接管的系统包括:

包名获取模块200,用于获取当前短信应用的包名;所述当前短信应用为当前持有ROLE_SMS的短信应用。所述包名获取模块具体包括:调用安卓电话框架模块API以获取当前短信应用的包名。

第一判断模块201,用于判断所述当前短信应用的包名是否与第三方短信应用的包名匹配,得到第一判断结果。

系统短信第一接管模块202,用于当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,启动系统短信应用。具体地,当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,说明系统短信应用没有被第三方短信应用接管,系统通信应用负责处理接收到的短信,此时系统短信第一接管模块创建指向系统短信应用的Intent,并填充短信数据以启动所述系统短信应用。

当前短信类别判断模块203,用于当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名匹配时,提取当前短信的报文头,并根据所述报文头确定所述当前短信的类别;所述当前短信的类别包括普通短信和特殊短信;所述特殊短信包括Class0级短信、PDU短信、小区报警短信和RCS消息短信。

第三方短信接管模块204,用于当所述当前短信的类别为所述普通短信时,启动所述第三方短信应用。具体地,当所述当前短信为所述普通短信时,第三方短信接管模块创建指向第三方短信应用的Intent,并填充短信数据以启动所述第三方短信应用。

系统短信第二接管模块205,用于当所述当前短信的类别为所述特殊短信时,启动所述系统短信应用。具体地,当所述当前短信为所述普通短信时,系统短信第二接管模块创建指向第三方短信应用的Intent,并填充短信数据,以启动所述第三方短信应用。

在本发明具体实施例中,所述短信应用区别授权接管的系统,还包括:

预设置模块,用于在所述第三方短信应用首次启动并请求接管短信时,弹出短信应用列表,以供用户选择所述第三方短信应用接管的短信;所述短信应用列表为持有ROLE_SMS的短信的应用列表。

相对于现有技术,本发明还具有以下优点:

本发明满足智能终端生态繁荣发展的要求的同时,又保证使特殊类型的短信如Class0级短信和PDU短信能正常的被终端接收和展示。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于SPI进行系统短信发送的方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类