一种短信会话的处理方法及装置的制造方法

文档序号:9930959
一种短信会话的处理方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及移动通信领域,尤其涉及一种短信会话的处理方法及装置。
【背景技术】
[0002]目前,支持移动制式的安卓(Android)手机里都可以安装飞信客户端,通过飞信客户端和其它手机终端进行短信的收发操作,而经过飞信客户端发送来的短信号码都是以12520开头的,即短信号码为12520+普通手机号码。
[0003]现有技术中,在Android平台上短信应用的设计中,是基于短信号码的后11位进行匹配的,这样,例如,短信号码为1252013905320000和短信号码为13905320000的,会被认为是同一个联系人,保存在同一个会话中,下面介绍下在Android平台上的短信会话,参阅图1所示:
[0004]在Android平台上的短信应用中,短信会话列表界面的数据是通过查询短信数据库中线程(threads)表得到的,每一个会话条目(Item)对应threads表中的一行数据,threads表中每一行的标识(_id)对应一个不同的联系人标识(rec ip i ent_ids ),而
recipient_ids字段又是和规范地址(canonical_addresses)表中的_id是--对应的,其中canonical_addresses表中的每一个_丨(1又对应一个不同的address字段,其中,address字段就是短信号码,也就是说,每一个会话对应一个address字段。
[0005]并且,在信息(Mms)上层应用中,联系人标识缓存(RecipientIdCache.java)文件中有一个]^口〈1^0呢,31:1';[1^>类型的缓存变量1110&(3116专门用来保存canonical_addresses表中」d和地址(address)字段的对应关系,还有另外一个联系人(Contact.java)文件是用来保存联系人?目息的,例如联系人的号码、姓名、标签、大头贴等内容,每一个contact对应一个用来保存contact实例的缓存,其中的mNumber变量是唯一的,每一个Contact对应一个不同的联系人号码(mNumber),且每一个mNumber又是和RecipientIdCache缓存中的号码(number)是--对应的。
[0006]这样,发送或接收短信时,首先会根据短信号码去threads表中查询是否已存在对应的会话标识(threadld),而threadld的判断又是根据查询canonical_addresses表得到的,根据短信号码后11位匹配规则,根据和短信号码相匹配的0&11011;^&1_&(1(1^8868表中的address字段查询对应的」d,这样短信号码13905320000和1252013905320000由于后11位是一致的,所以会认为是相同的」d,就不会再去创建新的_id,这样也就不会在threads表中创建新的threadld了,因此,在短信会话列表中它们会显示在同一个会话中。
[0007]由此可见,现有技术下,以12520开头的飞信号码和普通手机号码在收发信息时会保存在同一个会话中,这样,用户就不知道此会话对应的address到底是1252013905320000还是13905320000,而如果此时短信会话界面中显示的为13905320000,但真实保存的address却是12520开头的号码,则在此会话界面中编辑短信进行发送操作时有可能会发送失败或者对方接收不到,这是因为收件人address为I 2520 I 3905320000而不是13905320000,但是,现有技术下,还没有对应的解决方案。

【发明内容】

[0008]本发明实施例提供一种短信会话的处理方法及装置,以解决现有技术中在短信会话中不能区别飞信号码和普通号码,进而可能导致短信发送或接收失败的问题。
[0009]本发明实施例提供的具体技术方案如下:
[0010]一种短信会话的处理方法,包括:
[0011]当接收到一条短信时,获取上述短信的短信号码,并在确定上述短信号码的前缀是指定字段时,使用预设的第一精确匹配规则,将上述短信号码和短信数据库中的会话标识进行匹配,当确定匹配未成功时,创建一个新会话;
[0012]针对上述新会话,使用预设的第二精确匹配规则,将上述短信号码和本地保存的联系人标识进行匹配,若匹配成功,则直接获取上述短信号码对应的联系人信息,并在上述新会话的界面中显示,若匹配未成功,则将上述短信号码和预设的信息,作为上述短信号码对应的联系人信息,在上述新会话的界面中显示。
[0013]本发明实施例中,当接收到一条短信时,获取上述短信的短信号码,并在确定上述短信号码的前缀是指定字段时,使用预设的第一精确匹配规则,将上述短信号码和短信数据库中的会话标识进行匹配,当确定匹配未成功时,创建一个新会话;针对上述新会话,使用上述预设的第二精确匹配规则,将上述短信号码和本地保存的联系人标识进行匹配,若匹配成功,则直接获取上述短信号码对应的联系人信息,并在上述新会话的界面中显示,若匹配未成功,则将上述短信号码和预设的信息,作为上述短信号码对应的联系人信息,在上述新会话的界面中显示,这样,对于前缀为指定字段的短信号码,分别使用第一精确匹配规则和第二精确匹配规则,来完成会话的创建和会话界面的联系人信息的显示,可以将为前缀为指定字段的短信号码和普通手机号码区别显示在不同的会话中,且会话界面的显示的保证为相应的正确的联系人信息,便于用户在会话界面中针对性地对普通手机号码和前缀为指定字段的号码进行收发操作,保证短信收发操作的正确性。
[0014]较佳的,进一步包括:
[0015]在确定上述短信号码的前缀是指定字段时,使用预设的第一精确匹配规则,将上述短信号码和短信数据库中的会话标识进行匹配,当确定匹配成功时,直接从短信数据库中获取上述短信号码对应的会话。
[0016]较佳的,上述预设的第一精确匹配规则为,从上述短信号码的第一位数字开始以及从上述会话标识的第一位数字开始依次进行匹配,直至结束;
[0017]上述预设的第二精确匹配规则为,从上述短信号码的第一位数字开始以及从上述联系人标识的第一位数字开始依次进行匹配,直至结束。
[0018]较佳的,进一步包括:
[0019]在确定上述短信号码的前缀不是指定字段时,使用后设定位数匹配规则,将上述短信号码和短信数据库中的会话标识进行匹配,当确定匹配成功时,直接从短信数据库中获取上述短信号码对应的会话,否则,创建一个新会话。
[0020]较佳的,进一步包括:
[0021]针对在确定短信号码的前缀不是指定字段时,直接从短信数据库中获取上述短信号码对应的会话,使用后设定位数匹配规则,将上述短信号码和本地保存的联系人标识进行匹配,若匹配成功,则直接获取上述短信号码对应的联系人信息,并在上述会话的界面中显示,若匹配未成功,则将上述短信号码和预设的信息,作为上述短信号码对应的联系人信息,在上述会话的界面中显示;
[0022]针对在确定短信号码的前缀不是指定字段时,创建的新会话,使用后设定位数匹配规则,将上述短信号码和本地保存的联系人标识进行匹配,若匹配成功,则直接获取上述短信号码对应的联系人信息,并在上述会话的界面中显示,若匹配未成功,则将上述短信号码和预设的信息,作为上述短信号码对应的联系人信息,在上述会话的界面中显示。
[0023]一种短信会话的处理装置,包括:
[0024]会话创建单元,用于当接收到一条短信时,获取上述短信的短信号码,并在确定上述短信号码的前缀是指定字段时,使用预设的第一精确匹配规则,将上述短信号码和短信数据库中的会话标识进行匹配,当确定匹配未成功时,创建一个新会话;
[0025]会话界面显示单元,用于针对上述新会话,使用预设的第二精确匹配规则,将上述短信号码和本地保存的联系人标识进行匹配,若匹配成功,则直接获取上述短信号码对应的联系人信息,并在上述新会话的界面中显示,若匹配未成功,则将上述短信号码和预设的信息,作为上述短信号码对应的联系人信息,在上述新会话的界面中显示。
[0026]本发明实施例中,当接收到一条短信时,获取上述短信的短信号码,并在确定上述短信号码的前缀是指定字段时,使用预设的第一精确匹配规则,将上述短信号码和短信数据库中的会话标识进行匹配,当
再多了解一些
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1