diff --git a/README.md b/README.md index 5bf16114..48affa2e 100644 --- a/README.md +++ b/README.md @@ -219,6 +219,7 @@ + [v1.7.3] 修复“设置匹配模式”默认选择BUG & 转发到webhook时返回http状态200即为成功 & 转发到其他手机短信支持长短信合并 + [v1.7.4] 修复转发企业微信群机器人碰到"被截断问题 & 转发到webhook时忽略ssl证书校验(提高自建服务端兼容性) & 转发telegram时将 # 替换为 井,避免被当作标签 & 隐私保护,发送方设置中敏感信息(密码/token/secret等)用星号显示 & 更新友盟基础组件库 & 解决“设置页面关闭卡槽信息,同时使用默认模板时,发送消息卡槽信息仍显示” + [v2.0.0] 来电提醒转发 & 接口请求失败后延时重试5次(可配置间隔时间)& 转发到飞书机器人 & 自定义 Scheme(forwarder://main)用于唤起App & 低电量预警 & 重新梳理代码(消灭waring)& Bark增加支持分组 & 引入Lombok & 升级gradle版本 & 增加电池优化白名单设置和权限 & 转发到webhook增加支持自定义post数据,并支持Json数据提交 + + [v2.0.1] 改进低电量预警方式,按需设置一下转发规则(不再遍历所有发送方)【号码:88888888、内容:当前剩余电量:xx%,已经到达低电量预警阈值,请及时充电!、卡槽:sim1】 -------- diff --git a/app/src/main/java/com/idormy/sms/forwarder/receiver/PhoneStateReceiver.java b/app/src/main/java/com/idormy/sms/forwarder/receiver/PhoneStateReceiver.java index 880b2dc0..b4d4a4d9 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/receiver/PhoneStateReceiver.java +++ b/app/src/main/java/com/idormy/sms/forwarder/receiver/PhoneStateReceiver.java @@ -18,6 +18,7 @@ import java.util.Date; import java.util.List; public class PhoneStateReceiver extends BroadcastReceiver { + private static final String TAG = "PhoneStateReceiver"; private TelephonyManager mTelephonyManager; @Override @@ -33,7 +34,7 @@ public class PhoneStateReceiver extends BroadcastReceiver { (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); } int state = mTelephonyManager.getCallState(); - Log.d("PhoneStateReceiver", "onReceive state=" + state + " phoneNumber = " + phoneNumber); + Log.d(TAG, "onReceive state=" + state + " phoneNumber = " + phoneNumber); switch (state) { case TelephonyManager.CALL_STATE_RINGING: if (!TextUtils.isEmpty(phoneNumber)) { @@ -60,7 +61,7 @@ public class PhoneStateReceiver extends BroadcastReceiver { name = context.getString(R.string.unknown_number); } SmsVo smsVo = new SmsVo(phoneNumber, name + context.getString(R.string.calling), new Date(), name); - Log.d("PhoneStateReceiver", "send_msg" + smsVo.toString()); + Log.d(TAG, "send_msg" + smsVo.toString()); SendUtil.send_msg(context, smsVo, 1); } } diff --git a/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBaseMsg.java b/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBaseMsg.java index ce168051..bb843c52 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBaseMsg.java +++ b/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBaseMsg.java @@ -9,7 +9,7 @@ import android.util.Log; public class SenderBaseMsg { - public static void Toast(final Handler handError, final String Tag, String data) { + public static void Toast(Handler handError, String Tag, String data) { Log.i(Tag, data); if (handError != null) { Message msg = new Message(); diff --git a/app/src/main/java/com/idormy/sms/forwarder/service/FrontService.java b/app/src/main/java/com/idormy/sms/forwarder/service/FrontService.java index 726f4fc9..0757aead 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/service/FrontService.java +++ b/app/src/main/java/com/idormy/sms/forwarder/service/FrontService.java @@ -6,6 +6,7 @@ import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Service; +import android.content.Context; import android.content.ContextWrapper; import android.content.Intent; import android.content.IntentFilter; @@ -19,17 +20,13 @@ import androidx.annotation.Nullable; import com.idormy.sms.forwarder.MainActivity; import com.idormy.sms.forwarder.MyApplication; import com.idormy.sms.forwarder.R; -import com.idormy.sms.forwarder.model.LogModel; -import com.idormy.sms.forwarder.model.SenderModel; import com.idormy.sms.forwarder.model.vo.SmsVo; import com.idormy.sms.forwarder.sender.SendUtil; import com.idormy.sms.forwarder.sender.SenderUtil; -import com.idormy.sms.forwarder.utils.LogUtil; import com.idormy.sms.forwarder.utils.PhoneUtils; import com.idormy.sms.forwarder.utils.SettingUtil; import java.util.Date; -import java.util.List; import java.util.Timer; import java.util.TimerTask; @@ -88,26 +85,26 @@ public class FrontService extends Service { // 低电量预警 final int[] alarmTimes = {0}; //通知次数,只通知2次 - SenderUtil.init(this); + Context context1 = this; + SenderUtil.init(context1); new Timer().schedule(new TimerTask() { @Override public void run() { int batteryLevel = getBatteryLevel(); - //System.out.println("当前剩余电量:" + batteryLevel + "%"); + System.out.println("当前剩余电量:" + batteryLevel + "%"); int batteryLevelAlarm = SettingUtil.getBatteryLevelAlarm(); - if (alarmTimes[0] <= 1 && batteryLevelAlarm > 0 && batteryLevelAlarm <= 100 && batteryLevel == batteryLevelAlarm) { - Date date = new Date(); - String msg = "当前剩余电量:" + batteryLevel + "%,已经到达低电量预警阈值,请及时充电!"; - System.out.println(msg); - SmsVo smsVo = new SmsVo("888888", msg, date, ""); - List senderModels = SenderUtil.getSender(null, null); - for (SenderModel senderModel : senderModels - ) { - long ruleId = 0; - long logId = LogUtil.addLog(new LogModel(smsVo.getMobile(), smsVo.getContent(), smsVo.getSimInfo(), ruleId)); - SendUtil.senderSendMsgNoHandError(smsVo, senderModel, logId); + if (alarmTimes[0] <= 1 && batteryLevelAlarm > 0 && batteryLevelAlarm <= 100 && (batteryLevel == batteryLevelAlarm || batteryLevel == batteryLevelAlarm - 1)) { + try { + alarmTimes[0] = alarmTimes[0] + 1; + SmsVo smsVo = new SmsVo("88888888", + "当前剩余电量:" + batteryLevel + "%,已经到达低电量预警阈值,请及时充电!", + new Date(), + "低电量预警"); + Log.d(TAG, "send_msg" + smsVo.toString()); + SendUtil.send_msg(context1, smsVo, 1); + } catch (Exception e) { + Log.e(TAG, "getLog e:" + e.getMessage()); } - alarmTimes[0] = alarmTimes[0] + 1; } if (batteryLevelAlarm > 0 && batteryLevelAlarm <= 100 && batteryLevel > batteryLevelAlarm) { diff --git a/version.properties b/version.properties index 442d9eae..844d9004 100644 --- a/version.properties +++ b/version.properties @@ -1,3 +1,3 @@ #Fri Jul 16 10:33:23 CST 2021 -versionName=2.0.0 -versionCode=26 +versionName=2.0.1 +versionCode=27