具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本实施例提供了一种处理彩信的方法,参见图1,本实施例提供的方法包括:
101:根据当前所用账户对应的彩信的PDP处理彩信;
102:判断彩信的处理时长是否超过预设时长;
103:如果彩信的处理时长超过预设时长,则判断彩信是否处理完毕;
104:如果彩信处理完毕,则关闭PDP。
优选地,判断彩信是否处理完毕之后,还包括:
如果彩信未处理完毕,则判断彩信的处理流量是否多于第一预设流量;
如果彩信的处理流量未多于第一预设流量,则关闭PDP。
优选地,判断彩信的处理流量是否多于第一预设流量之后,还包括:
如果彩信的处理流量多于第一预设流量,则判断彩信的处理时长超过预设时长的次数是否小于预设阈值;
如果彩信的处理时长超过预设时长的次数不小于预设阈值,则关闭PDP。
优选地,判断彩信是否处理完毕之后,还包括:
如果彩信未处理完毕,则判断彩信的处理时长超过预设时长的次数是否小于预设阈值;
如果彩信的处理时长超过预设时长的次数不小于预设阈值,则关闭PDP。
优选地,判断彩信的处理时长超过预设时长的次数是否小于预设阈值之后,还包括:
如果彩信的处理时长超过预设时长的次数不小于预设阈值,则判断彩信在预设时间段内的处理流量是否超过第二预设流量;
如果彩信在预设时间段内的处理流量未超过第二预设流量,则执行关闭PDP的步骤;
其中,预设时间段为第一时间与第二时间之间的时间段,第一时间为前一次判断彩信的处理时长超过预设时长的次数小于预设阈值时的时间,第二时间为本次判断彩信的处理时长超过预设时长的次数是否小于预设阈值时的时间。
本发明实施例提供的方法,通过根据当前所用账户对应的彩信的PDP处理彩信,在彩信的处理时长超过预设时长,且彩信处理完毕后关闭PDP,避免彩信未处理完关闭PDP造成彩信处理失败,从而提高了彩信处理成功率。
实施例二
本发明实施例提供了一种处理彩信的方法,结合上述实施例一的内容,为了便于说明,本实施例以处理彩信的方式为发送彩信的方式,处理彩信的终端设备为单通的双卡手机为例,对本实施例提供的处理彩信的方法进行说明。参见图2,本实施例提供的方法流程包括:
201:将待发送的彩信所属账户作为当前所用账户,激活当前所用账户对应的彩信的PDP,连接彩信中心;
如果处理彩信的终端设备为单账户终端设备,则当前所用账户即待发送的彩信所属账户,因此激活当前所用账户的MMS(Multimedia Messageing Service,多媒体信息服务)类型的PDP,以获得网络为该终端设备分配的IP(InternetProtocol,网际协议)地址,并在获得IP地址后,通过该IP地址登录网络,连接彩信中心。如果处理彩信的终端设备是单通的双账户终端设备,由于其同一时刻激活一个账户的PDP,因此,该单通的双账户终端设备会先确定待发送的彩信所属的账户,确定当前所用账户,并判断当前所用账户与待发送的彩信所属账户是否一致。如果当前所用账户与待发送的彩信所属账户不一致,将当前所用账户切换成待发送的彩信所属账户,再激活当前所用账户的MMS类型的PDP,并在获得IP地址后,通过该IP地址登录网络连接彩信中心。
本实施例不对确定待发送的彩信所属的账户的具体方法进行限定,例如:将提交彩信发送消息的账户确定为待发送的彩信所属的账户。
具体的,如图3所示的双卡手机发送彩信的流程示意图中步骤1)至5),双卡手机首先确定待发送的彩信所属的账户为账户2。如果当前所用账户为账户1,由于当前所用账户与待发送的彩信所属账户不一致,因此该双卡手机会将当前账户1切换成账户2,再激活账户2的MMS类型的PDP。当然,当前所用账户还可以为其它账户,本实施例不对当前所用具体账户进行限定。待发送的彩信所属的账户还可以为其它账户,本实施例不对待发送的彩信所属的具体账户进行限定。
以处理彩信的终端设备中包括如图4所示的功能模块为例,其中应用模块(MMS),通过该应用可以查看彩信和编辑并发送彩信。连接服务模块(ConnectivityService),用于管理终端设备的各种连接,包括wifi(无线网络)的连接和mobile(移动)的连接,同时提供接口给应用来调用以打开某种类型的连接。例如MMS要发送彩信,则需先向ConnectivityService请求激活特定账户彩信的PDP。账户管理模块(SubScriberManager),提供接口以设置账户,包括语言账户,数据账户等等。数据业务模块(DataConnectionTracker),主要管理mobile的数据业务,主要负责如果条件满足,则激活PDP,如果条件不满足,则清理已经激活的PDP,使数据业务关闭,对于双卡手机,只要待发送的彩信所属账户与当前所用账户一致,则激活当前所用账户彩信的PDP,否则不激活,从而达到彩信在哪个账户上,则激活哪个账户彩信的PDP的目的。数据统计模块(TrafficStats),提供接口来获取当前发送数据的统计,比如:发了多少个包,还可以获取以流量作为单位的流量统计。MMS向ConnectivityService请求要激活彩信所需要的PDP,而ConnectivityService确定当前所用账户与待发送的彩信所属账户是否一致,如果不一致,则调用setPreferredDataSubscription向SubscriberManager请求切换账户,切换成功后SubscriberManager会通知DataConnectionTracker,此时,ConnectivityServie就可以调用network.reconnect()请求激活MMS类型的PDP。MMS类型的PDP激活成功后,DataConnectionTracker会通知ConnectivityService,ConnectivityService再发广播通知MMS类型的PDP已经建立成功,可以开始发送彩信。当然,处理彩信的终端设备还可以包括其它模块,本实施例不对处理彩信的终端设备包括的具体模块进行限定。同时本实施例也不对各模块的具体名称及具体功能进行限定。
另外,由于处理彩信的终端设备平时会激活当前所用账户对应的default(默认)类型的PDP,以为当前所用账户提供普通上网功能,因此,对于同时激活一种类型PDP的终端设备在激活当前所用账户对应的彩信的PDP以连接彩信中心之前,还会确定是否激活当前所用账户的default类型的PDP。如果激活,则关闭当前所用账户的default类型的PDP,再将待发送的彩信所属账户作为当前所用账户,并激活该账户对应的彩信的PDP以连接彩信中心。
202:根据当前所用账户对应的彩信的PDP向彩信中心发送彩信,并判断彩信的发送时长是否超过预设时长,如果彩信的发送时长超过预设时长,则执行步骤203,如果彩信的发送时长未超过预设时长,则执行步骤204;
本实施例不对判断彩信的发送时长是否超过预设时长的具体方法进行限定,例如:设置计时器记录彩信的发送时长,判断计时器记录的彩信的发送时长是否超过预设时长。本实施例也不对预设时长的具体设置方法进行限定,例如:通过处理彩信的终端设备中设置功能设置预设时长。本实施例也不对发送的彩信的具体数量进行限定,例如:一次发送一条彩信或者一次顺序发送多条彩信。
具体的,如图4所示的模块,在Connectivity Service中设置计时器记录连接彩信中心的时长,将该时长作为彩信的发送时长,并判断彩信的发送时长是否超过预设时长。
另外,由于通过TrafficStats模块可以获取当前发送数据的统计,因此,为了减少判断彩信的发送时长是否超过预设时长的次数,提高本发明实施例提供的发送彩信的方法的发送效率,优选地,在判断彩信的发送时长是否超过预设时长之前,还可以先通过TrafficStats模块确定当前是否在向彩信中心发送数据,如果当前正在向彩信中心发送数据,则确定彩信未发送完毕,则直接执行步骤204继续向彩信中心发送彩信;如果当前未向彩信中心发送数据,再判断彩信的发送时长是否超过预设时长。
203:判断彩信是否发送完毕,如果彩信未发送完毕,则执行步骤204,如果彩信发送完毕,则关闭PDP,结束流程;
由于发送的彩信可以是一个或者多个,因此,判断彩信是否发送完毕也是判断一个或者多个彩信是否均发送完毕,即判断处理彩信的终端设备中是否还有未被发送的彩信,如果处理彩信的终端设备中还有未被发送的彩信,则判断彩信未发送完毕;如果处理彩信的终端设备中没有未被发送的彩信,则判断彩信发送完毕。除此之外,判断彩信是否发送完毕的方法还可以为:如果接收到彩信中心发送的彩信接收完毕的确认消息,则确定彩信发送完毕,否则,确定彩信未发送完毕。本实施例不对判断彩信是否发送完毕的具体方法进行限定。
如图3中10)所示,双卡手机判断手机中彩信的发件箱中是否还有待发送的彩信,其中待发送的彩信可以是一个也可以是多个。
另外,步骤203在具体实施时,确定彩信未发送完毕之后会出现如下两种情况中的任一种情况,根据出现的情况不同,在执行步骤203并确定彩信未发送完毕之后,还可以进一步的选择不同的处理方式以确定是否执行步骤204继续向彩信中心发送彩信。
第一种情况:由于发送彩信的相关应用处于崩溃状态,或者处理彩信的终端设备的信号极差,或者其它情况导致没有彩信发送量;
第二种情况:由于发送彩信的时间较长等原因,使得彩信的发送时长已多次超过预设时长仍未关闭PDP,从而影响处理彩信的终端设备进行其它网络活动。
对于第一种没有彩信发送量的情况,进一步地,在执行步骤203并确定彩信未发送完毕之后,还可以执行步骤203a判断彩信的发送流量是否多于第一预设流量,并当彩信的发送流量多于第一预设流量时,再执行步骤204继续向彩信中心发送彩信。
对于第二种彩信的发送时长已多次超过预设时长仍未关闭PDP的情况,进一步地,在执行步骤203并确定彩信未发送完毕之后,还可以直接执行步骤203c判断彩信的发送时长超过预设时长的次数是否小于预设阈值,并当彩信的发送时长超过预设时长的次数小于预设阈值时,再执行步骤204继续向彩信中心发送彩信。
需要说明的是,本领域技术人员可以理解,附图3中,以10)为例,当判断的结果为否时,流程的下一步包括11)或12),表明至少两个并列的方案。进一步的,类似的情况在附图6中也存在。
203a:判断彩信的发送流量是否多于第一预设流量,如果彩信的发送流量未多于第一预设流量,则关闭PDP,结束流程;如果彩信的发送流量多于第一预设流量,则执行步骤204;
以第一预设流量为0b(比特)为例,参见图3中11),如果双卡手机确定彩信的发送流量为0b,则判断彩信的发送流量未多于第一预设流量,关闭PDP,结束流程;如果双卡手机确定彩信的发送流量为1024b,则判断彩信的发送流量多于第一预设流量,执行步骤204继续发送彩信。当然,第一预设流量还可以为其它数值,本实施例不对第一预设流量的具体数值进行限定。另外,彩信的发送流量还可以为其它数值,本实施例也不对彩信的发送流量的具体数值进行限定。
另外,彩信中心在每次接收到处理彩信的终端设备发送的彩信包后会向该处理彩信的终端设备返回一个数据包,该数据包用于确认成功接收处理彩信的终端设备发送的彩信,为了避免处理彩信的终端设备在有发送流量而没有接收流量的情况下不停的向彩信中心发送彩信,进一步地,在执行步骤203a并判断彩信的发送流量多于第一预设流量之后,还可以执行步骤203b判断是否接收到彩信中心返回的数据包,并当接收到彩信中心返回的数据包时,再执行步骤204继续向彩信中心发送彩信。
203b:判断是否接收到彩信中心返回的数据包,如果未接收到彩信中心返回的数据包,则关闭PDP,结束流程;如果接收到彩信中心返回的数据包,则执行步骤204;
具体的,如果接收到彩信中心返回的数据包,则会使处理彩信的终端设备产生接收流量,因此,根据处理彩信的终端设备的接收流量是否多于第三预设流量判断是否接收到彩信中心返回的数据包,如果处理彩信的终端设备的接收流量未多于第三预设流量,则判断未接收到彩信中心返回的数据包,关闭PDP,结束流程;如果处理彩信的终端设备的接收流量多于第三预设流量,则判断接收到彩信中心返回的数据包,执行步骤204继续向彩信中心发送彩信。除此之外,还可以通过其它方法判断是否接收到彩信中心返回的数据包,本实施例不对判断是否接收到彩信中心返回的数据包的具体判断方法进行限定。
以第三预设流量为0b为例,如果处理彩信的终端设备的接收流量为0b,处理彩信的终端设备的接收流量未多于第三预设流量,则判断未接收到彩信中心返回的数据包,关闭PDP,结束流程;如果处理彩信的终端设备的接收流量为1024b,处理彩信的终端设备的接收流量多于第三预设流量,则判断接收到彩信中心返回的数据包,执行步骤204继续向彩信中心发送彩信。当然,第三预设流量还可以为其它数值,本实施例不对第三预设流量的具体数值进行限定。另外,处理彩信的终端设备的接收流量还可以为其它数值,本实施例也不对处理彩信的终端设备的接收流量的具体数值进行限定。
另外,为了避免由于发送彩信的时间较长等原因,使得彩信的发送时长已多次超过预设时长仍未关闭PDP,从而影响处理彩信的终端设备进行其它网络活动,进一步地,在执行步骤203b并判断接收到彩信中心返回的数据包之后,还可以执行步骤203c判断彩信的发送时长超过预设时长的次数是否小于预设阈值,并当彩信的发送时长超过预设时长的次数小于预设阈值时,再执行步骤204继续向彩信中心发送彩信。
203c:判断彩信的发送时长超过预设时长的次数是否小于预设阈值,如果彩信的发送时长超过预设时长的次数不小于预设阈值,则关闭PDP,结束流程,如果彩信的发送时长超过预设时长的次数小于预设阈值,则执行步骤204;
本实施例不对彩信的发送时长超过预设时长的次数的具体计数方法进行限定,例如:设定计数器统计彩信的发送时长超过预设时长的次数。本实施例也不对预设阈值的具体设定方法进行限定,例如:通过处理彩信的终端设备中设置功能设置预设阈值。
例如图3中12)所示,双卡手机判断发送时长超过预设时长的次数为2次,而预设阈值为3次,2小于3,则判断发送时长超过预设时长的次数小于预设阈值;如果发送时长超过预设时长的次数为2次,而预设阈值为2,2等于2,则判断发送时长超过预设时长的次数不小于预设阈值。当然,发送时长超过预设时长的次数还可以是其它数值,本实施例不对发送时长超过预设时长的具体次数进行限定。预设阈值还可以是其它数值,本实施例也不对预设阈值的具体数值进行限定。
另外,为了减少判断彩信的发送时长超过预设时长的次数是否小于预设阈值的次数,提高彩信发送成功率,优选地,当彩信的发送时长首次超过预设时长时,不执行判断彩信的发送时长超过预设时长的次数是否小于预设阈值的步骤,而直接执行步骤204继续向彩信中心发送彩信;当彩信的发送时长非首次超过预设时长的次数时,再执行判断彩信的发送时长超过预设时长的次数是否小于预设阈值的步骤。
此外,本实施例在具体实施时,由于处理彩信的终端在每发送完毕一条彩信后会更改数据库中彩信数量对应的数据,因此,判断彩信的发送时长超过预设时长的次数不小于预设阈值后,可能会出现如下两种情况中的任一种:
情况一:根据数据库中的记录,处理彩信的终端在预设时间段内没有成功发送任一条彩信;
情况二:根据数据库中的记录,处理彩信的终端在预设时间段内有成功发送任一条彩信。
根据上述实施例二中203c描述的方法,如果彩信的发送时长超过预设时长的次数不小于预设阈值,则关闭PDP,结束流程。无论对于上述情况一:处理彩信的终端在预设时间段内没有成功发送任一条彩信的情况或情况二:处理彩信的终端在预设时间段内有成功发送任一条彩信的情况,处理彩信的终端设备均会关闭PDP,结束流程。而对于情况二:处理彩信的终端在预设时间段内有成功发送任一条彩信的情况,如果此时处理彩信的终端设备关闭PDP,则会中断彩信的正常发送。进一步地,为了避免出现情况二时关闭PDP造成彩信发送中断,在执行步骤203c并判断彩信的发送时长超过预设时长的次数不小于预设阈值之后,还可以执行步骤203d判断彩信在预设时间段内的发送流量是否超过第二预设流量,并当彩信在预设时间段内的发送流量超过第二预设流量时,再执行步骤204继续向彩信中心发送彩信。
203d:判断彩信在预设时间段内的发送流量是否超过第二预设流量,如果彩信在预设时间段内的发送流量未超过第二预设流量,则关闭PDP,结束流程,如果彩信在预设时间段内的发送流量超过第二预设流量,则执行步骤204。
本实施例不对预设时间段的具体时间进行限定,例如:预设时间段为第一时间与第二时间之间的时间段,第一时间为前一次判断彩信的发送时长超过预设时长的次数小于预设阈值时的时间,第二时间为本次判断彩信的发送时长超过预设时长的次数是否小于预设阈值时的时间。
例如,以第二预设流量为0b(比特)为例,参见图3中13),如果双卡手机确定彩信在预设时间段内的发送流量为0b,则判断彩信的发送流量未超过第二预设流量,关闭PDP,结束流程;如果双卡手机确定彩信在预设时间段内的发送流量为1024b,则判断彩信的发送流量超过第二预设流量,执行步骤204继续发送彩信。当然,第二预设流量还可以为其它数值,本实施例不对第二预设流量的具体数值进行限定。
204:继续向彩信中心发送彩信,直至关闭PDP。
本实施例不对关闭PDP的具体方法进行限定,例如:如图4所示:
MMS通过stopUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,“enableMMS”)接口关闭MMS类型的PDP。
对于处理彩信的终端设备为单通的双账户终端设备,由于其有两个账户,为了保证关闭PDP之后单通的双账户终端设备恢复到未发送彩信前的状态,即保证关闭PDP之后的当前所用账户与发送彩信前的当前所用账户相同,在关闭PDP之后,会检查关闭PDP之后的当前所用账户是不是发送彩信前的当前所用账户,如果关闭PDP之后的当前所用账户与发送彩信前的当前所用账户不相同,则在关闭PDP之后,还会将当前所用账户切换为发送彩信前的所用账户。
例如,如果关闭PDP之后的当前所用账户是账户2,而发送彩信前的当前所用账户是账户1,则将当前所用账户切换回账户1。
另外,在具体实施时,如果发送彩信前,处理彩信的终端设备已经激活当前所用账户对应的default类型的PDP,为当前所用账户提供普通上网功能,则关闭PDP之后,会再次激活default类型的PDP。本实施例不对再次激活default类型的PDP的具体时间进行限定,包括但不限于:如果处理彩信的终端设备为单账户终端设备,则关闭PDP之后,再次激活当前所用账户对应的default类型的PDP。如果处理彩信的终端设备是单通的双账户终端设备,且发送彩信前的当前所用账户与待发送的彩信所属账户不一致,则在将当前账户切换为发送彩信前的当前所用账户之后,激活发送彩信前的当前所用账户对应的default类型的PDP。
以发送彩信前的当前所用账户为账户1,待发送的彩信所属账户为账户2为例,如图3所示的6)和7),双卡手机关闭PDP后,由于发送彩信前的当前所用账户与待发送的彩信所属账户不一致,因此该双卡手机会将当前账户切换成账户1,再激活账户1的default类型的PDP。
本实施例提供的方法,通过根据当前所用账户对应的彩信的PDP向彩信中心发送彩信,在彩信的发送时长超过预设时长,且彩信发送完毕后关闭PDP,避免因彩信未发送完关闭PDP而造成彩信的发送失败,从而提高了彩信的发送成功率。
实施例三
本发明实施例提供了一种处理彩信的方法,结合上述实施例一的内容,为了便于说明,本实施例以处理彩信的方式为接收彩信的方式,处理彩信的终端设备为单通的双卡手机为例,对本实施例提供的处理彩信的方法进行说明。参见图5,本实施例提供的方法流程包括:
501:将待接收的彩信所属账户作为当前所用账户,激活当前所用账户对应的彩信的PDP,连接彩信中心;
如果处理彩信的终端设备为单账户终端设备,则当前所用账户即待接收的彩信所属账户,因此激活当前所用账户的MMS类型的PDP,以获得网络为该终端设备分配的IP地址,并在获得IP地址后,通过该IP地址登录网络,连接彩信中心。如果处理彩信的终端设备是单通的双账户终端设备,由于其同一时刻只能激活一个账户的PDP,因此,该单通的双账户终端设备会先确定待接收的彩信所属的账户,确定当前所用账户,并判断当前所用账户与待接收的彩信所属账户是否一致,如果当前所用账户与待接收的彩信所属账户不一致,将当前所用账户切换成待接收的彩信所属账户,再激活当前所用账户的MMS类型的PDP,并在获得IP地址后,通过该IP地址登录网络连接彩信中心。
本实施例不对确定待接收的彩信所属的账户的具体方法进行限定,例如:将提交彩信接收消息的账户确定为待接收的彩信所属的账户。
具体的,如图6所示的双卡手机接收彩信的流程示意图中1)至5),双卡手机首先确定待接收的彩信所属的账户为账户2。如果当前所用账户为账户1,由于当前所用账户与待接收的彩信所属账户不一致,因此该双卡手机会将当前账户1切换成账户2,再激活账户2的MMS类型的PDP。当然,当前所用账户还可以为其它账户,本实施例不对当前所用具体账户进行限定。待接收的彩信所属的账户还可以为其它账户,本实施例不对待接收的彩信所属的具体账户进行限定。
以处理彩信的终端设备中包括如图7所示的功能模块为例,其中:应用模块(MMS),通过该应用可以查看彩信和编辑并接收彩信。连接服务模块(ConnectivityService),用于管理终端设备的各种连接,包括wifi的连接和mobile的连接,同时提供接口给应用来调用以打开某种类型的连接,例如MMS要接收彩信,则需先向ConnectivityService请求激活特定账户彩信的PDP。账户管理模块(SubScriberManager),提供接口以设置账户,包括语言账户,数据账户等等。数据业务模块(DataConnectionTracker),主要管理mobile的数据业务,主要负责如果条件满足,则激活PDP,如果条件不满足,则清理已经激活的PDP,使数据业务关闭,对于双卡手机,只要待接收的彩信所属账户与当前所用账户一致,则激活当前所用账户彩信的PDP,否则不激活,从而达到彩信接收到哪个账户上,则激活哪个账户彩信的PDP的目的。数据统计模块(TrafficStats),提供接口来获取当前接收数据的统计,比如:发了多少个包,还可以获取以流量作为单位的流量统计。MMS向ConnectivityService请求要激活彩信所需要的PDP,而ConnectivityService确定当前所用账户与待接收的彩信所属账户是否一致,如果不一致,则调用setPreferredDataSubscription向SubscriberManager请求切换账户,切换成功后SubscriberManager会通知DataConnectionTracker,此时,ConnectivityServie就可以调用network.reconnect()请求激活MMS类型的PDP。MMS类型的PDP激活成功后,DataConnectionTracker会通知ConnectivityService,ConnectivityService再发广播通知MMS类型的PDP已经建立成功,可以开始接收彩信。当然,处理彩信的终端设备还可以包括其它模块,本实施例不对处理彩信的终端设备包括的具体模块进行限定。同时本实施例也不对各模块的具体名称及具体功能进行限定。
另外,由于处理彩信的终端设备平时会激活当前所用账户对应的default类型的PDP,以为当前所用账户提供普通上网功能,因此,对于同时激活一种类型PDP的终端设备在激活当前所用账户对应的彩信的PDP以连接彩信中心之前还会确定是否激活当前所用账户的default类型的PDP,如果激活,则关闭当前所用账户的default类型的PDP,再将待接收的彩信所属账户作为当前所用账户,并激活该账户对应的彩信的PDP以连接彩信中心。
502:根据当前所用账户对应的彩信的PDP从彩信中心接收彩信,并判断彩信的接收时长是否超过预设时长,如果彩信的接收时长超过预设时长,则执行步骤503,如果彩信的接收时长未超过预设时长,则执行步骤504;
本实施例不对判断彩信的接收时长是否超过预设时长的具体方法进行限定,例如:设置计时器记录彩信的接收时长,判断计时器记录的彩信的接收时长是否超过预设时长。本实施例也不对预设时长的具体设置方法进行限定,例如:通过处理彩信的终端设备中设置功能设置预设时长。本实施例也不对接收的彩信的具体数量进行限定,例如:一次接收一条彩信或者一次顺序接收多条彩信。
具体的,如图7所示的模块,在Connectivity Service中设置计时器记录连接彩信中心的时长,将该时长作为彩信的接收时长,并判断彩信的接收时长是否超过预设时长。
另外,由于通过TrafficStats模块可以获取当前接收数据的统计,因此,为了减少判断彩信的接收时长是否超过预设时长的次数,提高本发明实施例提供的接收彩信的方法的接收效率,优选地,在判断彩信的接收时长是否超过预设时长之前,还可以先通过TrafficStats模块确定当前是否在从彩信中心接收数据,如果当前正在从彩信中心接收数据,则确定彩信未接收完毕,则直接执行步骤504继续从彩信中心接收彩信;如果当前未从彩信中心接收数据,再判断彩信的接收时长是否超过预设时长。
503:判断彩信是否接收完毕,如果彩信未接收完毕,则执行步骤504,如果彩信接收完毕,则关闭PDP,结束流程;
由于接收的彩信可以是一个或者多个,因此,判断彩信是否接收完毕也是判断一个或者多个彩信是否均接收完毕,即判断彩信中心是否还有未被处理彩信的终端设备接收的彩信,如果彩信中心还有未被处理彩信的终端设备接收的彩信,则判断彩信未接收完毕;如果彩信中心没有未被处理彩信的终端设备接收的彩信,则判断彩信接收完毕。除此之外,判断彩信是否接收完毕的方法还可以为:如果接收到彩信中心发送的彩信发送完毕的确认消息,则确定彩信接收完毕,否则,确定彩信未发接收完毕。本实施例不对判断彩信是否接收完毕的具体方法进行限定。
如图6中10)所示,双卡手机判断接收到的彩信的数量是否与接收到的彩信头的数量相同确定彩信是否接收完毕。
另外,步骤503在具体实施时,确定彩信未接收完毕之后会出现如下两种情况中的任一种情况,根据出现的情况不同,在执行步骤503并确定彩信未接收完毕之后,还可以进一步的选择不同的处理方式以确定是否执行步骤504继续从彩信中心接收彩信。
第一种情况:由于接收彩信的相关应用处于崩溃状态,或者处理彩信的终端设备的信号极差,或者其它情况导致没有彩信接收量;
第二种情况:由于接收彩信的时间较长等原因,使得彩信的接收时长已多次超过预设时长仍未关闭PDP,从而影响处理彩信的终端设备进行其它网络活动。
对于第一种没有彩信接收量的情况,进一步地,在执行步骤503并确定彩信未接收完毕之后,还可以执行步骤503a判断彩信的接收流量是否多于第一预设流量,并当彩信的接收流量多于第一预设流量时,再执行步骤504继续从彩信中心接收彩信。
对于第二种彩信的接收时长已多次超过预设时长仍未关闭PDP的情况,进一步地,在执行步骤503并确定彩信未接收完毕之后,还可以直接执行步骤503c判断彩信的接收时长超过预设时长的次数是否小于预设阈值,并当彩信的接收时长超过预设时长的次数小于预设阈值时,再执行步骤504继续从彩信中心接收彩信。
503a:判断彩信的接收流量是否多于第一预设流量,如果彩信的接收流量未多于第一预设流量,则关闭PDP,结束流程;如果彩信的接收流量多于第一预设流量,则执行步骤504;
以第一预设流量为0b(比特)为例,参见图6中11),如果双卡手机确定彩信的接收流量为0b,则判断彩信的接收流量未多于第一预设流量,关闭PDP,结束流程;如果双卡手机确定彩信的接收流量为1024b,则判断彩信的接收流量多于第一预设流量,执行步骤504继续从彩信中心接收彩信。当然,第一预设流量还可以为其它数值,本实施例不对第一预设流量的具体数值进行限定。另外,彩信的接收流量还可以为其它数值,本实施例也不对彩信的接收流量的具体数值进行限定。
另外,处理彩信的终端设备在每次接收到彩信中心发送的彩信包后会向彩信中心返回一个数据包,该数据包用于确认成功接收彩信中心发送的彩信,为了避免处理彩信的终端设备在有接收流量而没有发送流量的情况下不停的接收彩信中心发送的彩信,进一步地,在执行步骤503a并判断彩信的接收流量多于第一预设流量之后,还可以执行步骤503b判断是否返回给彩信中心数据包,并当返回给彩信中心数据包时,再执行步骤504继续从彩信中心接收彩信。
503b:判断是否返回给彩信中心数据包,如果未返回给彩信中心数据包,则关闭PDP,结束流程;如果返回给彩信中心数据包,则执行步骤504;
具体的,如果返回给彩信中心数据包,则会使处理彩信的终端设备产生发送流量,因此,根据处理彩信的终端设备的发送流量是否多于第四预设流量判断是否返回给彩信中心数据包,如果处理彩信的终端设备的发送流量未多于第四预设流量,则判断未返回给彩信中心数据包,关闭PDP,结束流程;如果处理彩信的终端设备的发送流量多于第四预设流量,则判断返回给彩信中心数据包,执行步骤504继续从彩信中心接收彩信。除此之外,还可以通过其它方法判断是否返回给彩信中心数据包,本实施例不对判断是否返回给彩信中心数据包的具体方法进行限定。
以第四预设流量为0b为例,如果处理彩信的终端设备的发送流量为0b,处理彩信的终端设备的发送流量未多于第四预设流量,则判断未返回给彩信中心数据包,关闭PDP,结束流程;如果处理彩信的终端设备的发送流量为1024b,处理彩信的终端设备的发送流量多于第四预设流量,则判断返回给彩信中心数据包,执行步骤504继续从彩信中心接收彩信。当然,第四预设流量还可以为其它数值,本实施例不对第四预设流量的具体数值进行限定。另外,处理彩信的终端设备的发送流量还可以为其它数值,本实施例也不对处理彩信的终端设备的发送流量的具体数值进行限定。此外,本实施例中第四预设流量的值与上述实施例二中第三预设流量的值可以相同也可以不同,本实施例不对第四预设流量的值与第三预设流量的值是否相同进行限定。
另外,为了避免由于接收彩信的时间较长等原因,使得彩信的接收时长已多次超过预设时长仍未关闭PDP,从而影响处理彩信的终端设备进行其它网络活动,进一步地,在执行步骤503b并判断返回给彩信中心数据包之后,还可以执行步骤503c判断彩信的接收时长超过预设时长的次数是否小于预设阈值,并当彩信的接收时长超过预设时长的次数小于预设阈值时,再执行步骤504继续从彩信中心接收彩信。
503c:判断彩信的接收时长超过预设时长的次数是否小于预设阈值,如果彩信的接收时长超过预设时长的次数不小于预设阈值,则关闭PDP,结束流程,如果彩信的接收时长超过预设时长的次数小于预设阈值,则执行步骤504;
本实施例不对彩信的接收时长超过预设时长的次数的具体计数方法进行限定,例如:设定计数器统计彩信的接收时长超过预设时长的次数。本实施例也不对预设阈值的具体设定方法进行限定,例如:通过处理彩信的终端设备中设置功能设置预设阈值。
例如图6中12)所示,双卡手机判断接收时长超过预设时长的次数为2次,而预设阈值为3次,2小于3,则判断接收时长超过预设时长的次数小于预设阈值;如果接收时长超过预设时长的次数为2次,而预设阈值为2,2小等于2,则判断接收时长超过预设时长的次数不小于预设阈值。当然,接收时长超过预设时长的次数还可以是其它数值,本实施例不对接收时长超过预设时长的具体次数进行限定。预设阈值还可以是其它数值,本实施例也不对预设阈值的具体数值进行限定。
另外,为了减少判断彩信的接收时长超过预设时长的次数是否小于预设阈值的次数,提高彩信接收成功率,优选地,当彩信的接收时长首次超过预设时长时,不执行判断彩信的接收时长超过预设时长的次数是否小于预设阈值的步骤,而直接执行步骤504继续从彩信中心接收彩信;当彩信的接收时长非首次超过预设时长的次数时,再执行判断彩信的接收时长超过预设时长的次数是否小于预设阈值的步骤。
此外,本实施例在具体实施时,由于处理彩信的终端在每接收完毕一条彩信后会更改数据库中彩信数量对应的数据,因此,判断彩信的接收时长超过预设时长的次数不小于预设阈值后,可能会出现如下两种情况中的任一种:
情况一:根据数据库中的记录,处理彩信的终端在预设时间段内没有成功接收任一条彩信;
情况二:根据数据库中的记录,处理彩信的终端在预设时间段内有成功接收任一条彩信。
根据上述实施例三中503c描述的方法,如果彩信的接收时长超过预设时长的次数不小于预设阈值,则关闭PDP,结束流程。无论对于情况一:处理彩信的终端在预设时间段内没有成功接收任一条彩信的情况或情况二:处理彩信的终端在预设时间段内有成功接收任一条彩信的情况,处理彩信的终端设备会关闭PDP,结束流程。而对于情况二:处理彩信的终端在预设时间段内有成功接收任一条彩信的情况,如果此时处理彩信的终端设备关闭PDP,则会中断彩信的正常接收。进一步地,为了避免出现情况二时关闭PDP造成彩信接收中断,在执行步骤503c并判断彩信的接收时长超过预设时长的次数不小于预设阈值之后,还可以执行步骤503d判断彩信在预设时间段内的接收流量是否超过第二预设流量,并当彩信在预设时间段内的接收流量超过第二预设流量时,再执行步骤504继续从彩信中心接收彩信。
503d:判断彩信在预设时间段内的接收流量是否超过第二预设流量,如果彩信在预设时间段内的接收流量未超过第二预设流量,则关闭PDP,结束流程,如果彩信在预设时间段内的接收流量超过第二预设流量,则执行步骤504。
本实施例不对预设时间段的具体时间进行限定,例如:预设时间段为第一时间与第二时间之间的时间段,第一时间为前一次判断彩信的接收时长超过预设时长的次数小于预设阈值时的时间,第二时间为本次判断彩信的接收时长超过预设时长的次数是否小于预设阈值时的时间。
例如,以第二预设流量为0b(比特)为例,参见图6中13),如果双卡手机确定彩信在预设时间段内的接收流量为0b,则判断彩信的接收流量未超过第二预设流量,关闭PDP,结束流程;如果双卡手机确定彩信在预设时间段内的接收流量为1024b,则判断彩信的接收流量超过第二预设流量,执行步骤504继续从彩信中心接收彩信。当然,第二预设流量还可以为其它数值,本实施例不对第二预设流量的具体数值进行限定。
504:继续从彩信中心接收彩信,直至关闭PDP。
本实施例不对关闭PDP的具体方法进行限定,例如:如图7所示:
MMS通过stopUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,“enableMMS”)接口关闭MMS类型的PDP。
对于处理彩信的终端设备为单通的双账户终端设备,由于其有两个账户,为了保证关闭PDP之后单通的双账户终端设备恢复到未接收彩信前的状态,即保证关闭PDP之后的当前所用账户与接收彩信前的当前所用账户相同,在关闭PDP之后会检查关闭PDP之后的当前所用账户是不是接收彩信前的当前所用账户,如果关闭PDP之后的当前所用账户与接收彩信前的当前所用账户不相同,则在关闭PDP之后还会将当前所用账户切换为接收彩信前的当前所用账户相同。
例如,如果关闭PDP之后的当前所用账户是账户2,而接收彩信前的当前所用账户是账户1,则把当前所用账户切换回账户1。
另外,在具体实施时,如果接收彩信前处理彩信的终端设备已经激活当前所用账户对应的default类型的PDP,为当前所用账户提供普通上网功能,则关闭PDP之后,会再次激活default类型的PDP。本实施例不对再次激活default类型的PDP的具体时间进行限定,包括但不限于:如果处理彩信的终端设备为单账户终端设备,则关闭PDP之后再次激活当前所用账户对应的default类型的PDP。如果处理彩信的终端设备是单通的双账户终端设备,且接收彩信前的当前所用账户与待接收的彩信所属账户不一致,则在将当前账户切换为接收彩信前的当前所用账户之后,激活接收彩信前的当前所用账户对应的default类型的PDP。
以接收彩信前的当前所用账户为账户1,待接收的彩信所属账户为账户2为例,如图6所示的6)和7),双卡手机关闭PDP后,由于接收彩信前的当前所用账户与待接收的彩信所属账户不一致,因此该双卡手机会将当前账户切换成账户1,再激活账户1的default类型的PDP。
需要说明的是,实施例二提供的发送彩信的方法以及实施例三提供的接收彩信的方法可以应用于同一台处理彩信的终端设备,即该处理彩信的终端设备既可以利用本发明实施例二提供的发送彩信的方法发送彩信,也可以利用本发明实施例三提供的接收彩信的方法接收彩信。
本实施例提供的方法,通过根据当前所用账户对应的彩信的PDP从彩信中心接收彩信,在彩信的接收时长超过预设时长,且彩信接收完毕后关闭PDP,避免因彩信未接收完关闭PDP而造成彩信的接收失败,从而提高了彩信的接收成功率。
实施例四
本发明实施例提供了一种处理彩信的装置,该装置用于执行上述实施例一至施例三任一实施例所提供的处理彩信的方法,需要说明的是,本装置实施例以及后面的装置实施例,其中与之前方法实施例类似的地方,请参考之前方法实施例的描述。参见图8,该装置包括:
处理模块801,用于根据当前所用账户对应的彩信的PDP处理彩信;
第一判断模块802,用于判断彩信的处理时长是否超过预设时长;
第二判断模块803,用于当第一判断模块802判断彩信的处理时长超过预设时长时,判断彩信是否处理完毕;
关闭模块804,用于当第二判断模块803判断彩信处理完毕时,关闭PDP。
参见图9,该装置,还包括:
第三判断模块805,用于当彩信未处理完毕时,判断彩信的处理流量是否多于第一预设流量;
其中,关闭模块804,还用于当第三判断模块805判断彩信的处理流量未多于第一预设流量时,关闭PDP。
参见图10,该装置,还包括:
第四判断模块806,用于当彩信的处理流量多于第一预设流量时,判断彩信的处理时长超过预设时长的次数是否小于预设阈值;
其中,关闭模块804,还用于当第四判断模块806判断彩信的处理时长超过预设时长的次数不小于预设阈值时,关闭PDP。
参见图11,该装置,还包括:
第五判断模块807,用于当彩信未处理完毕时,判断彩信的处理时长超过预设时长的次数是否小于预设阈值;
其中,关闭模块804,还用于当第五判断模块807判断彩信的处理时长超过预设时长的次数小于预设阈值时,关闭PDP。
参见图12,该装置,还包括:
第六判断模块808,用于当彩信的处理时长超过预设时长的次数不小于预设阈值时,判断彩信在预设时间段内的处理流量是否超过第二预设流量;
执行模块809,用于当所述第六判断模块808判断所述彩信在所述预设时间段内的处理流量未超过所述第二预设流量时,执行关闭所述PDP的步骤;
其中,预设时间段为第一时间与第二时间之间的时间段,第一时间为前一次判断彩信的处理时长超过预设时长的次数小于预设阈值时的时间,第二时间为本次判断彩信的处理时长超过预设时长的次数是否小于预设阈值时的时间。
综上所述,本发明实施例所述的装置,通过根据当前所用账户对应的彩信的PDP处理彩信,在彩信的处理时长超过预设时长,且彩信处理完毕后关闭PDP,避免因彩信未处理完关闭PDP而造成彩信的处理失败,从而提高了彩信的处理成功率。
实施例五
本实施例提供了一种处理彩信的终端设备,该终端设备可以为手机、平板电脑、PDA(平板电脑)等,本实施例以手机终端举例说明:
参见图13,手机终端包括处理器1301、收发模块1302、存储器1303;
其中,手机终端131的处理器1301是手机终端131的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1303内的软件程序和/或模块,以及调用存储在存储器1303内的数据,执行手机终端131的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1301可包括一个或多个处理单元;优选的,处理器1301可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1301中。
收发模块1302可用于收发信息或通话过程中,信号的接收和发送,特别地,对于手机终端131,将基站的下行信息接收后,给处理器1301处理;另外,将设计上行的数据发送给基站。此外,收发模块1302还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code DivisionMultiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器1303可用于存储软件程序以及模块,处理器1301通过运行存储在存储器1303的软件程序以及模块,从而执行手机终端131的各种功能应用以及数据处理。存储器1303可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图象播放功能等)等;存储数据区可存储根据手机131的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1303可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在本实施例中,所述处理器1301用于执行存储器1303里面存储的如下指令:
根据当前所用账户对应的彩信的PDP处理彩信;
判断彩信的处理时长是否超过预设时长;
如果彩信的处理时长超过预设时长,则判断彩信是否处理完毕;
如果彩信处理完毕,则关闭PDP。
优选地,所述处理器1301在判断所述彩信是否处理完毕之后,还用于执行存储器1303里面存储的如下指令:
如果彩信未处理完毕,则判断彩信的处理流量是否多于第一预设流量;
如果彩信的处理流量未多于第一预设流量,则关闭PDP。。
优选地,所述处理器1301在判断所述彩信的处理流量是否多于第一预设流量之后,还用于执行存储器1303里面存储的如下指令:
如果彩信的处理流量多于第一预设流量,则判断彩信的处理时长超过预设时长的次数是否小于预设阈值;
如果彩信的处理时长超过预设时长的次数不小于预设阈值,则关闭PDP。
优选地,所述处理器1301在判断所述彩信是否处理完毕之后,还用于执行存储器1303里面存储的如下指令:
如果彩信未处理完毕,则判断彩信的处理时长超过预设时长的次数是否小于预设阈值;
如果彩信的处理时长超过预设时长的次数不小于预设阈值,则关闭PDP。
优选地,所述处理器1301在判断所述彩信的处理时长超过所述预设时长的次数是否小于预设阈值之后,还用于执行存储器1303里面存储的如下指令:
如果彩信的处理时长超过预设时长的次数不小于预设阈值,则判断彩信在预设时间段内的处理流量是否超过第二预设流量;
如果彩信在预设时间段内的处理流量未超过第二预设流量,则执行关闭PDP的步骤;
其中,预设时间段为第一时间与第二时间之间的时间段,第一时间为前一次判断彩信的处理时长超过预设时长的次数小于预设阈值时的时间,第二时间为本次判断彩信的处理时长超过预设时长的次数是否小于预设阈值时的时间。
综上所述,本实施例提供的终端设备,通过根据当前所用账户对应的彩信的PDP处理彩信,在彩信的处理时长超过预设时长,且彩信处理完毕后关闭PDP,避免因彩信未处理完关闭PDP而造成彩信的处理失败,从而提高了彩信的处理成功率。
需要说明的是:上述实施例提供的处理彩信的装置及设备在实现处理彩信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置及设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的处理彩信的装置及设备与处理彩信的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。