CN113795000B - 一种短信应用区别授权接管的方法及系统 - Google Patents
一种短信应用区别授权接管的方法及系统 Download PDFInfo
- Publication number
- CN113795000B CN113795000B CN202111051041.XA CN202111051041A CN113795000B CN 113795000 B CN113795000 B CN 113795000B CN 202111051041 A CN202111051041 A CN 202111051041A CN 113795000 B CN113795000 B CN 113795000B
- Authority
- CN
- China
- Prior art keywords
- short message
- message application
- application
- current
- party
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/16—Communication-related supplementary services, e.g. call-transfer or call-hold
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种短信应用区别授权接管的方法及系统,涉及手机终端技术领域。本发明判断当前短信应用的包名是否与第三方短信应用的包名匹配,得到第一判断结果;当第一判断结果为当前短信应用的包名与第三方短信应用的包名不匹配时,启动系统短信应用;当第一判断结果为所述当前短信应用的包名与第三方短信应用的包名匹配时,提取所述当前短信的报文头,并根据报文头确定所述当前短信的类别;当所述当前短信的类别为所述普通短信时,启动所述第三方短信应用;当所述当前短信的类别为所述特殊短信时,启动所述系统短信应用。本发明既能让第三方短信应用正常使用,满足智能终端生态的发展要求,又能使特殊类型的短信能正常的被终端接收和展示。
Description
技术领域
本发明涉及智能手机终端技术领域,特别是涉及一种短信应用区别授权接管的方法及系统。
背景技术
安卓兼容手机上系统应用的接管是很普遍应用的技术,比如第三方开发者开发的类短信应用来替代安卓自带的系统短信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短信能正常的被终端接收和展示。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种短信应用区别授权接管的方法,其特征在于,所述短信应用区别授权接管的方法包括:
获取当前短信应用的包名;所述当前短信应用为当前持有ROLE_SMS的短信应用;
判断所述当前短信应用的包名是否与第三方短信应用的包名匹配,得到第一判断结果;
当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,启动系统短信应用;
当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名匹配时,提取当前短信的报文头,并根据所述报文头确定所述当前短信的类别;所述当前短信的类别包括普通短信和特殊短信;
当所述当前短信的类别为所述普通短信时,启动所述第三方短信应用;
当所述当前短信的类别为所述特殊短信时,启动所述系统短信应用。
2.根据权利要求1所述的短信应用区别授权接管的方法,其特征在于,所述获取当前短信应用的包名,具体包括:
调用安卓电话框架模块API以获取当前短信应用的包名。
3.根据权利要求1所述的短信应用区别授权接管的方法,其特征在于,所述特殊短信包括Class0级短信、PDU短信、小区报警短信和RCS消息短信。
4.根据权利要求1所述的短信应用区别授权接管的方法,其特征在于,所述短信应用区别授权接管的方法,还包括:
在所述第三方短信应用首次启动并请求接管短信时,弹出短信应用列表,以供用户选择所述第三方短信应用接管的短信;所述短信应用列表为持有ROLE_SMS的短信的应用列表。
5.根据权利要求1所述的短信应用区别授权接管的方法,其特征在于,所述当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,启动系统短信应用,具体包括:
当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,创建指向系统短信应用的Intent,以启动所述系统短信应用。
6.根据权利要求1所述的短信应用区别授权接管的方法,其特征在于,当所述当前短信的类别为所述普通短信时,启动所述第三方短信应用,具体包括:
当所述当前短信为所述普通短信时,创建指向第三方短信应用的Intent,以启动所述第三方短信应用。
7.一种短信应用区别授权接管的系统,其特征在于,所述短信应用区别授权接管的系统,包括:
包名获取模块,用于获取当前短信应用的包名;所述当前短信应用为当前持有ROLE_SMS的短信应用;
第一判断模块,用于判断所述当前短信应用的包名是否与第三方短信应用的包名匹配,得到第一判断结果;
系统短信第一接管模块,用于当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名不匹配时,启动系统短信应用;
当前短信类别判断模块,用于当所述第一判断结果为所述当前短信应用的包名与第三方短信应用的包名匹配时,提取当前短信的报文头,并根据所述报文头确定所述当前短信的类别;所述当前短信的类别包括普通短信和特殊短信;
第三方短信接管模块,用于当所述当前短信的类别为所述普通短信时,启动所述第三方短信应用;
系统短信第二接管模块,用于当所述当前短信的类别为所述特殊短信时,启动所述系统短信应用。
8.根据权利要求7所述的短信应用区别授权接管的系统,其特征在于,所述包名获取模块,具体包括:
调用安卓电话框架模块API以获取当前短信应用的包名。
9.根据权利要求7所述的短信应用区别授权接管的系统,其特征在于,所述特殊短信包括Class0级短信、PDU短信、小区报警短信和RCS消息短信。
10.根据权利要求7所述的短信应用区别授权接管的系统,其特征在于,所述短信应用区别授权接管的系统,还包括:
预设置模块,用于在所述第三方短信应用首次启动并请求接管短信时,弹出短信应用列表,以供用户选择所述第三方短信应用接管的短信;所述短信应用列表为持有ROLE_SMS的短信的应用列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111051041.XA CN113795000B (zh) | 2021-09-08 | 2021-09-08 | 一种短信应用区别授权接管的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111051041.XA CN113795000B (zh) | 2021-09-08 | 2021-09-08 | 一种短信应用区别授权接管的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113795000A CN113795000A (zh) | 2021-12-14 |
CN113795000B true CN113795000B (zh) | 2023-01-10 |
Family
ID=79182800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111051041.XA Active CN113795000B (zh) | 2021-09-08 | 2021-09-08 | 一种短信应用区别授权接管的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113795000B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994481A (zh) * | 2015-07-10 | 2015-10-21 | 上海斐讯数据通信技术有限公司 | 一种Android系统中应用程序之间广播消息的收发方法及系统 |
CN107295177A (zh) * | 2017-06-27 | 2017-10-24 | 广东欧珀移动通信有限公司 | 应用禁用方法、装置及终端设备 |
CN109997104A (zh) * | 2017-09-30 | 2019-07-09 | 华为技术有限公司 | 一种通知显示方法及终端 |
CN112532790A (zh) * | 2019-08-29 | 2021-03-19 | 中兴通讯股份有限公司 | 短信处理方法、系统、终端设备及存储介质 |
-
2021
- 2021-09-08 CN CN202111051041.XA patent/CN113795000B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994481A (zh) * | 2015-07-10 | 2015-10-21 | 上海斐讯数据通信技术有限公司 | 一种Android系统中应用程序之间广播消息的收发方法及系统 |
CN107295177A (zh) * | 2017-06-27 | 2017-10-24 | 广东欧珀移动通信有限公司 | 应用禁用方法、装置及终端设备 |
CN109997104A (zh) * | 2017-09-30 | 2019-07-09 | 华为技术有限公司 | 一种通知显示方法及终端 |
CN112532790A (zh) * | 2019-08-29 | 2021-03-19 | 中兴通讯股份有限公司 | 短信处理方法、系统、终端设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
Android设置系统默认的短信应用;MaTiZi;《https://www.bbsmax.com/A/gGdXxZM7d4/》;20160725;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113795000A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2688326A1 (en) | Multi-card mobile terminal and method thereof for transferring sim card data | |
CN110971757B (zh) | 从电话应用中添加微信好友的方法及装置、设备、介质 | |
CN109495875B (zh) | Sim卡选择方法、装置、电子设备及存储介质 | |
CN105814968B (zh) | 一种终止呼叫的方法、应用程序处理器及调制解调器 | |
US20130288751A1 (en) | Mobile Phone and Data Processing Method Thereof | |
CN111107093B (zh) | 一种应用登录方法、装置、终端及存储介质 | |
CN113795000B (zh) | 一种短信应用区别授权接管的方法及系统 | |
CN111641554B (zh) | 一种消息处理方法、装置及计算机可读存储介质 | |
CN105491223B (zh) | 一种信息处理方法、相关设备及系统 | |
CN105516933A (zh) | 消息处理方法、装置、移动终端及服务器 | |
CN105451233B (zh) | 一种反监听的方法、系统及移动终端 | |
CN114500237B (zh) | 一种通信方法和系统 | |
CN111083694B (zh) | 应用程序登录方法、装置、终端及存储介质 | |
CN104954556A (zh) | 一种消息提示方法及装置 | |
CN107872381B (zh) | 提示方法及装置 | |
CN105813085A (zh) | 一种信息处理方法及电子设备 | |
CN104853042A (zh) | 一种基于移动终端的短信聊天处理方法及系统 | |
CN112291442B (zh) | 电话通话处理方法、装置、电子设备及存储介质 | |
CN106465087B (zh) | 一种通信消息转移的方法及相关装置 | |
CN203445898U (zh) | 一种即时通讯系统 | |
WO2016058398A1 (zh) | 终端联系人信息的处理方法及装置 | |
CN107592423B (zh) | 判断设备是否支持视频通话的方法、通信设备及计算机可读存储介质 | |
CN108200661A (zh) | Rrc连接释放方法、终端、接入网设备及存储介质 | |
CN113099042A (zh) | 通讯方法、系统及终端 | |
CN116601933A (zh) | 紧急呼叫方法、装置、存储介质以及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |