基于移动终端的提醒事项的生成方法及其装置、终端设备的制造方法_2

文档序号:9202806阅读:来源:国知局
gBuilder mSMSsb = new StringBuilder();
[0064]Cursor mSMScursor = managedQuery (Uri.parse ("content://sms/inbox"), projet1n,
[0065]null, null);
[0066]//mSMScursor.moveToFirst ();
[0067]//while ( ! mSMScursor.1sLastO) {
[0068]//for (int i = 0 ;i〈mSMScursor.getCoIumnCount() ;i++){
[0069]//mSMSsb.append(mSMScursor.getColumnName(i));
[0070]//mSMSsb.append (",");
[0071]//}
[0072]//mSMSsb.append ("0");
[0073]//mSMScursor.moveToNext();
[0074]//}
[0075]mSMScursor.moveToFirst ();
[0076]for(int j = 0 ;j〈mSMScursor.getCoIumnCount () ; j++){
[0077]mSMSsb.append(mSMScursor.getColumnName(j));
[0078]mSMSsb.append ("=");
[0079]mSMSsb.append(mSMScursor.getString(j));
[0080]mSMSsb.append ("0");
[0081]}
[0082]mSMSsb.append ("#");
[0083]return mSMSsb.toStringO ;
[0084]}
[0085]以上仅为本申请提供的一个示例性实施方式,除此之外,还可以采用在系统中设置一监听程序,监听所有通讯应用或特定通讯应用是否收发通讯信息,若是,则调用相关函数读取所述通讯信息的内容,等多种实施方式,其均是成熟的现有技术,此处不再赘述,均在本申请的保护范围之内。
[0086]考虑到获取通讯应用收发的全部通讯信息可能会造成较大的运算量,影响移动终端运行速度,而大多数情况下只有与部分账号间收发的通讯信息需要生成提醒事项,因此,为了提高运算效率及有针对性的生成提醒事项,在本申请的一个优选实施例中,所述获取通讯应用收发的通讯信息具体是指获取通讯应用中与预定账号间收发的通讯信息。例如,用户通过中国铁路客户服务中心网站或客户端购票后,中国铁路客户服务中心会使用12306的账号向用户发送一条购票确认短信,通知用户乘车班次及乘车时间,这是可以用来生成提醒事项的短信信息,因此可以将12306作为预定的短信账号,当通过短信应用收到12306发来的短信时,即获取所述短信。
[0087]同样的,用户通过中国铁路客户服务中心网站或客户端购票后,中国铁路客户服务中心会使用12306@rails.com.cn的账号向用户发送一条购票确认邮件,通知用户乘车班次及乘车时间,这是可以用来生成提醒事项的邮件信息,因此可以将12306@rails.com.cn作为预定的邮箱账号,当通过邮箱应用收到12306发来的短信时,即获取所述短信。
[0088]实际应用中,可以预先将预定的账号存储到数据库中,例如将出行服务网站的客服账号、订餐服务网站的客服账号、快递服务网站的客服账号、上级领导的手机账号和邮件账号、重要来往客户的手机账号和邮件账号、朋友的QQ号以及微信号等预先存储到数据库中,当检测到来自上述预定的账号的通讯信息时,即获取所述通讯信息,以进行下一步操作。另外,用户在实际使用过程中,也可以根据个人需要实时的将新的账号或联系人添加到所述数据库中,以自动获取与其之间的通讯信息。
[0089]容易理解的是,本方法可以封装成独立的应用程序,以检测移动终端中某一个通讯应用或所有通讯应用收发的通讯信息,也可以嵌入到任何一个通讯应用中,以针对性的检测所述通讯应用收发的通讯信息。
[0090]步骤S102,解析所述通讯信息,判断所述通讯信息中是否包含时间特征信息;
[0091]通过步骤S101,已获取通讯应用收发的通讯信息,由于提醒事项至少要有提醒信息和提醒时间两项必要内容,为了生成提醒事项,在获取所述通讯信息后,首先要解析所述通讯信息,并判断所述通讯信息中是否包含时间特征信息。
[0092]所述时间特征信息,是包括阿拉伯数字或中文数字中的至少一个字符,以及时间标识符或表征时间的汉字中的至少一个字符的表征时间的字符串。阿拉伯数字是由0、1、2、3、4、5、6、7、8、9中的至少一个组成的数字;中文数字是由一、二、三、四、五、六、七、八、九、十、百、千、两等中的至少一个组成的数字;时间标识符包括时分连接符“:”、日期连接符“/”或每个月的英文符号“Jan.、Feb.、Mar.……”、周的英文符号“Mon.、Tues.、Wed.……”、上下午的英文符号“am、pm”等;表征时间的汉字包括“年、月、日、时、分、秒、旬、周、星期、点、半、下、下下、明天、后天、大后天、上午、下午、晚上、凌晨”等。例如,“下周二下午2点半”、“2016/8/118:00”、“Jan.20”、“明天凌晨三点”等均为时间特征信息。
[0093]需要说明的是,本申请中所述的时间可以单独代表日期、也可以单独代表时间,还可以代表日期与时间的组合。
[0094]在本申请的一个具体实施例中,可以将上述阿拉伯数字、中文数字、时间标识符以及表征时间的汉字做成一个时间特征字符数据库,通过遍历所述通讯信息的内容,利用查表或对比等信息处理方式判断所述通讯信息中是否包含时间特征信息。所述查表或对比方法是现有技术中的成熟技术,此处不再赘述。
[0095]步骤S103,若包含,则提取所述时间特征信息,并将其转换为设定格式的时间字符串;
[0096]通过步骤S102,已解析所述通讯信息,并判断所述通讯信息中是否包含时间特征信息,若所述通讯信息中包含时间特征信息,则需要提取所述时间特征信息,并将其转换为设定格式的时间字符串。
[0097]由于时间的表征方式多种多样,由上文可知,所述时间特征信息样式繁多,例如“下周二下午2点半”、“明天凌晨三点”等采用了相对时间的表征方法,即相对与当前时间的时间点,且默认省略了当前年份、月份等信息;“Jan.20”则省略了年份信息和时分信息;上述这些时间特征信息都不能直接进行数学计算。上文提到,提醒事项的必要要素之一是提醒时间,而提醒时间是根据所述通讯信息中的时间特征信息确定的,为了能够利用所述时间特征信息计算出提醒时间,需要将所述时间特征信息转换为可以进行数学计算的设定格式的时间字符串。
[0098]标准的时间格式为“YYYY/MM/DDhh:mm: ss”或“DD/MM/YYYY hh:mm: ss”,这是可以直接用来进行数学计算的时间格式,因此可以将所述时间特征信息转换成上述格式后再进行数学计算,例如,将“YYYY/MM/DD hh:mm: ss”作为设定格式,将所述时间特征信息转换成所述设定格式。
[0099]在本申请提供的一个具体实施例中,可以采用枚举的方式建立一系列逻辑运算语句,将各种情形的所述时间特征信息转换为设定格式的时间字符串。
[0100]例如,对于“下周二下午2点半”的时间特征信息,首先通过下述语句获得标准格式的当前时间,
[0101]import java.util.Date ;
[0102]import java.text.SimpleDateFormat ;
[0103]public class NowString{
[0104]public static void main(String[]args){
[0105]SimpleDateFormat df = new SimpleDateFormat("YYYY/MM/DD hh:mm:ss") ;//设置日期格式
[
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1