| | |
| | | Log.d("SmsReceiver", "Received SMS msgId: ${msgId}") |
| | | |
| | | // 这里我要写个数组,并创建个对象存放一些内容,如这个对象的属性有匹配内容,正则表达式,并循环遍历 |
| | | val ruleList = listOf( |
| | | val ruleList = mutableListOf( |
| | | Rule("快递","京东","\\d{6}"), |
| | | Rule("快递","菜鸟驿站","\\d{1,2}-\\d{1,2}-\\d{4}") |
| | | ) |
| | |
| | | // 获取最新的关键词配置 |
| | | val keywords = Core.keyword.getKeywords() |
| | | Log.d("keywords", keywords.toString()) |
| | | println(keywords) |
| | | // 保存匹配的短信 |
| | | //saveMessage(content) |
| | | keywords.forEach { keyword -> |
| | | ruleList.add( |
| | | Rule( |
| | | keyword.type, |
| | | keyword.keyword, |
| | | "\\d{1,2}-\\d{1,2}-\\d{4}" |
| | | ) |
| | | ) |
| | | } |
| | | Log.d("RuleList", ruleList.toString()) |
| | | for (rule in ruleList) { |
| | | val code = rule.extractCodeFromMessage(messageBody.toString()) |
| | | |
| | | if (code!==null) { |
| | | Log.d("SmsReceiver", "Received SMS code: ${code}") |
| | | |
| | | |
| | | // 获取当前时间 |
| | | val currentTime = LocalDateTime.now() |
| | | // 加2小时 |
| | | val futureTime = currentTime.plusHours(2) |
| | | // 定义时间格式 |
| | | val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") |
| | | // 转换为字符串 |
| | | val overtime = futureTime.format(formatter) |
| | | // 封装成一个Code对象,并保存在数据库中 |
| | | val code = Code(0, rule.type,1, rule.content,1, 1, msgId, code, overtime) |
| | | Core.code.insert(code) |
| | | Log.d("SMS_DEBUG", "新短信已保存到数据库") |
| | | // 发送广播通知数据已更新 |
| | | //"com.example.firstapp.DATA_UPDATED" 是一个自定义的广播 Action,相当于一个标识符或者说是一个频道名称。这个名称是我们自己定义的,通常使用应用的包名作为前缀,以避免与其他应用的广播冲突。 |
| | | val updateIntent = Intent("com.example.firstapp.DATA_UPDATED") |
| | | context.sendBroadcast(updateIntent) |
| | | Log.d("SMS_DEBUG", "发送数据更新广播") |
| | | }else{ |
| | | Log.d("SmsReceiver", "Received SMS code: 没有匹配到内容") |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | // kotlin 怎么创建一个类 |
| | | for (rule in ruleList) { |
| | | val code = rule.extractCodeFromMessage(messageBody.toString()) |
| | | |
| | | if (code!==null) { |
| | | Log.d("SmsReceiver", "Received SMS code: ${code}") |
| | | |
| | | |
| | | // 获取当前时间 |
| | | val currentTime = LocalDateTime.now() |
| | | // 加2小时 |
| | | val futureTime = currentTime.plusHours(2) |
| | | // 定义时间格式 |
| | | val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") |
| | | // 转换为字符串 |
| | | val overtime = futureTime.format(formatter) |
| | | // 封装成一个Code对象,并保存在数据库中 |
| | | val code = Code(0, rule.type,1, rule.content,1, 1, msgId, code, overtime) |
| | | Core.code.insert(code) |
| | | Log.d("SMS_DEBUG", "新短信已保存到数据库") |
| | | // 发送广播通知数据已更新 |
| | | //"com.example.firstapp.DATA_UPDATED" 是一个自定义的广播 Action,相当于一个标识符或者说是一个频道名称。这个名称是我们自己定义的,通常使用应用的包名作为前缀,以避免与其他应用的广播冲突。 |
| | | val updateIntent = Intent("com.example.firstapp.DATA_UPDATED") |
| | | context.sendBroadcast(updateIntent) |
| | | Log.d("SMS_DEBUG", "发送数据更新广播") |
| | | }else{ |
| | | Log.d("SmsReceiver", "Received SMS code: 没有匹配到内容") |
| | | } |
| | | } |
| | | // for (rule in ruleList) { |
| | | // val code = rule.extractCodeFromMessage(messageBody.toString()) |
| | | // |
| | | // if (code!==null) { |
| | | // Log.d("SmsReceiver", "Received SMS code: ${code}") |
| | | // |
| | | // |
| | | // // 获取当前时间 |
| | | // val currentTime = LocalDateTime.now() |
| | | // // 加2小时 |
| | | // val futureTime = currentTime.plusHours(2) |
| | | // // 定义时间格式 |
| | | // val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") |
| | | // // 转换为字符串 |
| | | // val overtime = futureTime.format(formatter) |
| | | // // 封装成一个Code对象,并保存在数据库中 |
| | | // val code = Code(0, rule.type,1, rule.content,1, 1, msgId, code, overtime) |
| | | // Core.code.insert(code) |
| | | // Log.d("SMS_DEBUG", "新短信已保存到数据库") |
| | | // // 发送广播通知数据已更新 |
| | | // //"com.example.firstapp.DATA_UPDATED" 是一个自定义的广播 Action,相当于一个标识符或者说是一个频道名称。这个名称是我们自己定义的,通常使用应用的包名作为前缀,以避免与其他应用的广播冲突。 |
| | | // val updateIntent = Intent("com.example.firstapp.DATA_UPDATED") |
| | | // context.sendBroadcast(updateIntent) |
| | | // Log.d("SMS_DEBUG", "发送数据更新广播") |
| | | // }else{ |
| | | // Log.d("SmsReceiver", "Received SMS code: 没有匹配到内容") |
| | | // } |
| | | // } |
| | | |
| | | } |
| | | } |