发明内容
本发明要解决的技术问题是:如何实现在群发信息时方便快捷地修改群发信息的收件人,以快速插入收件人。
为解决上述技术问题,本发明提供了一种信息群发系统,包括:
收件人获取模块,适于从群发数据库中获取收件人群组;
收件人编辑模块,适于编辑所述收件人群组中的收件人;
信息群发模块,适于将编辑后的收件人群组插入到收件人输入框,并发送群发信息。
其中,还包括:称呼添加模块,适于在将信息内容发送到一收件人之前,将该收件人的名称以称呼的形式与所述信息内容组合作为发送给该收件人的信息内容。
其中,还包括:称呼添加模块,适于在将信息内容发送到所有收件人之前,将所有收件人的名称以称呼的形式与所述信息内容组合作为发送给所有收件人的信息内容。
其中,还包括:签名添加模块,适于在发送信息之前,将发件人的名称以签名的形式与所述信息内容组合作为发送的信息内容。
其中,还包括:合并显示模块,适于群发信息完成后,将发送给所有收件人的信息合并成一条信息显示。
其中,还包括:收件人调整模块,适于编辑所述收件人群组中的收件人之后,查询所述群发数据库中的群发会话,是否存在收件人与编辑后收件人完全相同的群发会话,若存在,则将所述群发信息在所述群发会话界面中显示,并更新群发数据库,否则,创建新的群发会话,将所述群发信息在所述新的群发会话界面中显示,并更新群发数据库。
其中,还包括:收件人调整模块,适于编辑所述收件人群组中的收件人之后,查询所述群发数据库中的群发会话,是否存在收件人与编辑后收件人完全相同的群发会话,若不存在,则创建新的群发会话,将所述群发信息在所述新的群发会话界面中显示,并更新群发数据库;若存在,则接收是否合并群发会话的命令,若是,则创建新的群发会话,将原群发会话中的群发信息合并到新的群发会话界面中显示,删除原群发会话,并更新群发数据库。
其中,还包括:收件人调整模块,适于编辑所述收件人群组中的收件人之后,将编辑后的群发信息在当前群发会话界面中显示,并将编辑收件人后的收件人群组名称及所有收件人的电话号码经过运算生成的ID增加到群发数据库中与所述当前群发会话对应的条目中。
其中,还包括:群组名称编辑模块,适于编辑收件人群组名称,并更新所述群发数据库。
其中,还包括:群发数据库创建模块,具体包括:
已发信息读取模块,适于读取系统信息数据库的已发送信息;
群发信息查找模块,适于从所述已发送信息中查找出群发信息;
数据信息生成模块,适于若查找到群发信息,查询群发数据库中是否记录有与所述群发信息相同收件人的群发会话,若没有,生成群发会话ID及临时收件人群组名称,并连同收件人名称及所有收件人电话经过运算生成的ID写入数据库。
其中,还包括:群发数据库更新模块,适于实时监测系统信息数据库,以使群发数据库实时与系统信息数据库的群发信息保持同步。
其中,所述群发数据库更新模块具体包括:
群发信息删除监听模块,适于监听系统信息数据库,捕获系统信息数据库中删除群发信息的消息,从所述消息中获得被删除的群发信息;
群发信息删除模块,适于从所述群发数据库中删除所述群发信息。
其中,所述群发数据库更新模块具体包括:
群发信息增加监听模块,适于监听系统信息数据库,捕获系统信息数据库中增加群发信息的消息,从所述消息中获得增加的群发信息;
群发信息增加模块,适于在所述群发数据库中增加所述群发信息。
本发明还提供了一种信息群发方法,包括以下步骤:
从群发数据库中获取收件人群组;
编辑所述收件人群组中的收件人;
将编辑后的收件人群组插入到收件人输入框,并发送群发信息。
其中,在将信息内容发送到一收件人之前,将该收件人的名称以称呼的形式与所述信息内容组合作为发送给该收件人的信息内容。
其中,在将信息内容发送到所有收件人之前,将所有收件人的名称以称呼的形式与所述信息内容组合作为发送给所有收件人的信息内容。
其中,在发送信息之前,将发件人的名称以签名的形式与所述信息内容组合作为发送的信息内容。
其中,还包括:群发信息完成后,将发送给所有收件人的信息合并成一条信息显示。
其中,编辑所述收件人群组中的收件人之后,查询所述群发数据库中的群发会话,是否存在收件人与编辑后收件人完全相同的群发会话,若存在,则将所述群发信息在所述群发会话界面中显示,并更新群发数据库,否则,创建新的群发会话,将所述群发信息在所述新的群发会话界面中显示,并更新群发数据库。
其中,编辑所述收件人群组中的收件人之后,查询所述群发数据库中的群发会话,是否存在收件人与编辑后收件人完全相同的群发会话,若不存在,则创建新的群发会话,将所述群发信息在所述新的群发会话界面中显示,并更新群发数据库;若存在,则接收是否合并群发会话的命令,若是,则创建新的群发会话,将原群发会话中的群发信息合并到新的群发会话界面中显示,删除原群发会话,并更新群发数据库。
其中,查询所述群发数据库中的群发会话,是否存在收件人与编辑后收件人完全相同的群发会话的条件为:由所有收件人的电话号码经过运算生成的ID相同。
其中,编辑所述收件人群组中的收件人之后,将编辑后的群发信息在当前群发会话界面中显示,并将编辑收件人后的收件人群组名称及所有收件人的电话号码经过运算生成的ID增加到群发数据库中与所述当前群发会话对应的条目中。
其中,还包括:编辑收件人群组名称,并更新所述群发数据库。
其中,还包括创建所述群发数据库的步骤,具体为:
读取系统信息数据库的已发送信息;
从所述已发送信息中查找出群发信息;
若查找到群发信息,查询群发数据库中是否记录有与所述群发信息相同收件人的群发会话,若没有,生成群发会话ID及临时收件人群组名称,并连同收件人名称及所有收件人电话经过运算生成的ID写入数据库。
其中,还包括:实时监测系统信息数据库,以使群发数据库实时与系统信息数据库的群发信息保持同步。
其中,所述实时监测系统信息数据库,以使群发数据库实时与系统信息数据库的群发信息保持同步的步骤具体包括:
监听系统信息数据库,捕获系统信息数据库中删除群发信息的消息,从所述消息中获得被删除的群发信息;
从所述群发数据库中删除所述群发信息。
其中,所述实时监测系统信息数据库,以使群发数据库实时与系统信息数据库的群发信息保持同步的步骤具体包括:
监听系统信息数据库,捕获系统信息数据库中增加群发信息的消息,从所述消息中获得增加的群发信息;
在所述群发数据库中增加所述群发信息。
本发明通过从群发数据库中获取收件人群组中的收件人并编辑,从而达到群发信息时方便快捷地修改及快速插入群发信息的收件人的效果。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本实施例的信息群发方法流程如图1所示,包括:
步骤S100,从群发数据库中获取收件人群组。其中,群发数据库为事先创建的,创建步骤具体为:
读取系统信息数据库的已发送信息;
从所述已发送信息中查找出群发信息;
若查找到群发信息,查询群发数据库中是否记录有与所述群发信息相同收件人的群发会话,若没有,生成群发会话ID及临时收件人群组名称,并连同收件人名称及所有收件人电话经过运算生成的ID写入数据库。
可见群发数据库中包括:群发会话ID、收件人群组名称,收件人名称及所有收件人电话经过运算生成的ID等属性。发送给相同收件人的群发信息属于同一个群发会话,在群发信息展示时也在同一个会话界面中展示。群发信息中所有收件人为一个收件人群组,其默认名称为各自收件人的名称按一定格式排列(如:收件人A;收件人B;收件人C)。所有收件人电话经过运算生成的ID通过预定算法生成,完全相同的收件人的电话生成的ID是唯一的,便于查找收件人是否完全相同,不用一一比对收件人。
步骤S200,编辑收件人群组中的收件人。群发信息可能是新编辑的短信,或是作为回复的群发信息,或是作为转发的群发信息,无论是哪种类型的群发信息都可以从群发数据库中获取相应的收件人群组进行编辑(添加或删除收件人),编辑界面如图2所示。当然若从群发数据库中获取相应的收件人群组中的收件人即是要发送的对象,也可以不用编辑。
步骤S300,将编辑后的收件人群组插入到收件人输入框,并群发信息。
通常在群发信息过程中,手机中短信系统也是对收件人逐个进行发送。为了达到更好的用户体验,进一步地,在将信息内容发送到其中一收件人之前,将该收件人的名称以称呼的形式与所述信息内容组合作为发送给该收件人的信息内容。具体地,通过函数sendTextMessageAsync(final HashMap<key,value>message,final intslotId)来实现,其中第一个参数HashMap中的key为收件人的电话号码,value是相应发送的短信内容,slotId代表要是使用哪张sim卡(适于1机多卡的情况)。发送之前分析要发送的文本内容,如果其中包含需要替换的预先定义的代表各自名称的关键字key,那么对发送给不同收件人的文本短信,根据其电话号码,查找其对应的名称(例如张三),用这个名称替换这个key。例如:给张三、李四、王五的群组发送一条信息“明天早晨准时出发”并且分别添加收件人名称。那么张三收到的信息是:张三明天早晨准是出发,李四收到的信息是:李四明天早晨准是出发,王五收到的信息是:王五明天早晨准是出发。
为了让其他收件人也知道该群组的其他成员,也可以采用将所有收件人添加到信息内容前面的作为称呼,而不是单独一个收件人。即在将信息内容发送到所有收件人之前,将所有收件人的名称以称呼的形式与信息内容组合作为发送给所有收件人的信息内容。具体地,同样采用与上述同名的函数sendTextMessageAsync(finalHashMap<allkey,value>message,final int slotId),allkey所有收件人的电话号码,value是相应发送的短信内容,只不过当用户使用此功能时,自动在文本的开始位置插入allkey。发送之前分析要发送的文本内容,如果其中包含需要替换的预先定义的代表所有收件人名称的关键字allkey,则查找所有电话对应的名称来替换这个allkey。例如:给张三、李四、王五的群组发送一条信息“明天早晨准时出发”并且添加全部收件人名称。那么每个人收到的信息都为:To张三、李四、王五:明天早晨准时出发。
进一步地,为了提高用户体验,在发送信息之前,还将发件人的名称以签名的形式与信息内容组合作为发送的信息内容。具体地,还是采用与上述同名的函数sendTextMessageAsync(finalHashMap<allkey,value,sign>message,final int slotId),只是将sign插入的位置移到信息内容的末尾,其中allkey也可以是key。发送之前分析要发送的文本内容,如果其中包含需要替换的预先定义的代表所有发件人名称的关键字sign,则查找发件人的名称来替换这个sign。例如:赵六给张三、李四、王五的群组发送一条信息“明天早晨准时出发”并且添加默认签名(默认签名位:--赵六)。那么每个人收到的信息都为:To张三、李四、王五:明天早晨准时出发--赵六。
群发信息完成后,现有技术中通常将已发送的群发信息按收件人不同分成单条在已发送信息的界面中显示,如图3中(a)所示,这样一条同样内容的信息会占用很多页面。本实施例中,将发送给相同收件人的群发信息,合并成一条信息,并且在相应的群发会话界面中显示,如图3中(b)所示。
群发信息完成后,若编辑了收件人群组中的收件人,则需要调整群发数据库中收件人群组,具体可采用以下三种方式之一进行调整:
1、若编辑了收件人群组中的收件人,则在群发信息完成后,查询所述群发数据库中的群发会话,是否存在收件人与编辑后收件人完全相同的群发会话,判断条件是所有收件人的电话号码经过运算生成的ID相同。若存在,则将所述群发信息在所述群发会话界面中显示,并更新群发数据库,否则,创建新的群发会话,将所述群发信息在所述新的群发会话界面中显示,并更新群发数据库。
2、若编辑了收件人群组中的收件人,则在群发信息完成后,查询所述群发数据库中的群发会话,是否存在收件人与编辑后收件人完全相同的群发会话,判断条件是所有收件人的电话号码经过运算生成的ID相同。若不存在,则创建新的群发会话,将群发信息在所述新的群发会话界面中显示,并更新群发数据库;若存在,则接收是否合并群发会话的命令,若是,则创建新的群发会话,将原群发会话中的群发信息合并到新的群发会话界面中显示,删除原群发会话,并更新群发数据库。
3、若编辑了收件人群组中的收件人,则在群发信息完成后,将该群发信息在当前群发会话界面中显示,这样可以不用新建群发会话,也不用切换群发会话界面,节省了显示速度和存储空间。将编辑收件人后的收件人群组名称及所有收件人的电话号码经过运算生成的ID增加到群发数据库中与所述当前群发会话对应的条目中。此时,一个群发会话ID可对应多个收件人群组及所有收件人的电话号码经过运算生成的ID。
其中,还可以根据实际需要编辑收件人群组名称,如图2所示,并在群发数据库中做相应的更新。
用户在使用手机的过程中,可能直接使用手机中的短信系统收发群发信息,因此还需要使群发数据库与手机中系统信息数据库保持同步,即相应地删除或增加群发信息。具体包括:
监听系统信息数据库,捕获系统信息数据库中删除群发信息的消息,从所述消息中获得被删除的群发信息;从所述群发数据库中删除所述群发信息。
监听系统信息数据库,捕获系统信息数据库中增加群发信息的消息,从所述消息中获得增加的群发信息;在所述群发数据库中增加所述群发信息。
上述删除或增加群发信息时都会相应地调整群发数据库中的群发会话ID、收件人群组名称,收件人名称及所有收件人电话经过运算生成的ID等条目。
本发明还提供了一种信息群发系统,如图4所示,包括:
收件人获取模块100,适于从群发数据库中获取收件人群组;
收件人编辑模块200,适于编辑所述收件人群组中的收件人;
信息群发模块300,适于将编辑后的收件人群组插入到收件人输入框,并群发信息。
其中,还包括:称呼添加模块,适于在将信息内容发送到一收件人之前,将该收件人的名称以称呼的形式与所述信息内容组合作为发送给该收件人的信息内容。
其中,还包括:称呼添加模块,适于在将信息内容发送到所有收件人之前,将所有收件人的名称以称呼的形式与所述信息内容组合作为发送给所有收件人的信息内容。
其中,还包括:签名添加模块,适于在发送信息之前,将发件人的名称以签名的形式与所述信息内容组合作为发送的信息内容。
其中,还包括:合并显示模块,适于群发信息完成后,将发送给所有收件人的信息合并成一条信息显示。
其中,还包括:收件人调整模块,适于编辑所述收件人群组中的收件人之后,查询所述群发数据库中的群发会话,是否存在收件人与编辑后收件人完全相同的群发会话,若存在,则将所述群发信息在所述群发会话界面中显示,并更新群发数据库,否则,创建新的群发会话,将所述群发信息在所述新的群发会话界面中显示,并更新群发数据库。
其中,还包括:收件人调整模块,适于编辑所述收件人群组中的收件人之后,查询所述群发数据库中的群发会话,是否存在收件人与编辑后收件人完全相同的群发会话,若不存在,则创建新的群发会话,将所述群发信息在所述新的群发会话界面中显示,并更新群发数据库;若存在,则接收是否合并群发会话的命令,若是,则创建新的群发会话,将原群发会话中的群发信息合并到新的群发会话界面中显示,删除原群发会话,并更新群发数据库。
其中,还包括:收件人调整模块,适于编辑所述收件人群组中的收件人之后,将编辑后的群发信息在当前群发会话界面中显示,并将编辑收件人后的收件人群组名称及所有收件人的电话号码经过运算生成的ID增加到群发数据库中与所述当前群发会话对应的条目中。
其中,还包括:群组名称编辑模块,适于编辑收件人群组名称,并更新所述群发数据库。
其中,还包括:群发数据库创建模块,具体包括:
已发信息读取模块,适于读取系统信息数据库的已发送信息;
群发信息查找模块,适于从所述已发送信息中查找出群发信息;
数据信息生成模块,适于若查找到群发信息,查询群发数据库中是否记录有与所述群发信息相同收件人的群发会话,若没有,生成群发会话ID及临时收件人群组名称,并连同收件人名称及所有收件人电话经过运算生成的ID写入数据库。
其中,还包括:群发数据库更新模块,适于实时监测系统信息数据库,以使群发数据库实时与系统信息数据库的群发信息保持同步。
其中,所述群发数据库更新模块具体包括:
群发信息删除监听模块。适于监听系统信息数据库,捕获系统信息数据库中删除群发信息的消息,从所述消息中获得被删除的群发信息;
群发信息删除模块,适于从所述群发数据库中删除所述群发信息。
其中,所述群发数据库更新模块具体包括:
群发信息增加监听模块,适于监听系统信息数据库,捕获系统信息数据库中增加群发信息的消息,从所述消息中获得增加的群发信息;
群发信息增加模块,适于在所述群发数据库中增加所述群发信息。
应当注意的是,在本发明的控制器的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的子部件。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的控制器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。