改进低电量预警方式

pull/67/head
pppscn 3 years ago
parent de5e8d2f8b
commit 0727ef8bf0

@ -219,6 +219,7 @@
+ [v1.7.3] 修复“设置匹配模式”默认选择BUG & 转发到webhook时返回http状态200即为成功 & 转发到其他手机短信支持长短信合并 + [v1.7.3] 修复“设置匹配模式”默认选择BUG & 转发到webhook时返回http状态200即为成功 & 转发到其他手机短信支持长短信合并
+ [v1.7.4] 修复转发企业微信群机器人碰到"被截断问题 & 转发到webhook时忽略ssl证书校验提高自建服务端兼容性 & 转发telegram时将 # 替换为 井,避免被当作标签 & 隐私保护,发送方设置中敏感信息(密码/token/secret等)用星号显示 & 更新友盟基础组件库 & 解决“设置页面关闭卡槽信息,同时使用默认模板时,发送消息卡槽信息仍显示” + [v1.7.4] 修复转发企业微信群机器人碰到"被截断问题 & 转发到webhook时忽略ssl证书校验提高自建服务端兼容性 & 转发telegram时将 # 替换为 井,避免被当作标签 & 隐私保护,发送方设置中敏感信息(密码/token/secret等)用星号显示 & 更新友盟基础组件库 & 解决“设置页面关闭卡槽信息,同时使用默认模板时,发送消息卡槽信息仍显示”
+ [v2.0.0] 来电提醒转发 & 接口请求失败后延时重试5次可配置间隔时间& 转发到飞书机器人 & 自定义 Schemeforwarder://main用于唤起App & 低电量预警 & 重新梳理代码消灭waring& Bark增加支持分组 & 引入Lombok & 升级gradle版本 & 增加电池优化白名单设置和权限 & 转发到webhook增加支持自定义post数据并支持Json数据提交 + [v2.0.0] 来电提醒转发 & 接口请求失败后延时重试5次可配置间隔时间& 转发到飞书机器人 & 自定义 Schemeforwarder://main用于唤起App & 低电量预警 & 重新梳理代码消灭waring& Bark增加支持分组 & 引入Lombok & 升级gradle版本 & 增加电池优化白名单设置和权限 & 转发到webhook增加支持自定义post数据并支持Json数据提交
+ [v2.0.1] 改进低电量预警方式按需设置一下转发规则不再遍历所有发送方【号码88888888、内容当前剩余电量xx%已经到达低电量预警阈值请及时充电、卡槽sim1】
-------- --------

@ -18,6 +18,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
public class PhoneStateReceiver extends BroadcastReceiver { public class PhoneStateReceiver extends BroadcastReceiver {
private static final String TAG = "PhoneStateReceiver";
private TelephonyManager mTelephonyManager; private TelephonyManager mTelephonyManager;
@Override @Override
@ -33,7 +34,7 @@ public class PhoneStateReceiver extends BroadcastReceiver {
(TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
} }
int state = mTelephonyManager.getCallState(); int state = mTelephonyManager.getCallState();
Log.d("PhoneStateReceiver", "onReceive state=" + state + " phoneNumber = " + phoneNumber); Log.d(TAG, "onReceive state=" + state + " phoneNumber = " + phoneNumber);
switch (state) { switch (state) {
case TelephonyManager.CALL_STATE_RINGING: case TelephonyManager.CALL_STATE_RINGING:
if (!TextUtils.isEmpty(phoneNumber)) { if (!TextUtils.isEmpty(phoneNumber)) {
@ -60,7 +61,7 @@ public class PhoneStateReceiver extends BroadcastReceiver {
name = context.getString(R.string.unknown_number); name = context.getString(R.string.unknown_number);
} }
SmsVo smsVo = new SmsVo(phoneNumber, name + context.getString(R.string.calling), new Date(), name); 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); SendUtil.send_msg(context, smsVo, 1);
} }
} }

@ -9,7 +9,7 @@ import android.util.Log;
public class SenderBaseMsg { 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); Log.i(Tag, data);
if (handError != null) { if (handError != null) {
Message msg = new Message(); Message msg = new Message();

@ -6,6 +6,7 @@ import android.app.NotificationChannel;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.app.Service; import android.app.Service;
import android.content.Context;
import android.content.ContextWrapper; import android.content.ContextWrapper;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
@ -19,17 +20,13 @@ import androidx.annotation.Nullable;
import com.idormy.sms.forwarder.MainActivity; import com.idormy.sms.forwarder.MainActivity;
import com.idormy.sms.forwarder.MyApplication; import com.idormy.sms.forwarder.MyApplication;
import com.idormy.sms.forwarder.R; 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.model.vo.SmsVo;
import com.idormy.sms.forwarder.sender.SendUtil; import com.idormy.sms.forwarder.sender.SendUtil;
import com.idormy.sms.forwarder.sender.SenderUtil; 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.PhoneUtils;
import com.idormy.sms.forwarder.utils.SettingUtil; import com.idormy.sms.forwarder.utils.SettingUtil;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Timer; import java.util.Timer;
import java.util.TimerTask; import java.util.TimerTask;
@ -88,26 +85,26 @@ public class FrontService extends Service {
// 低电量预警 // 低电量预警
final int[] alarmTimes = {0}; //通知次数只通知2次 final int[] alarmTimes = {0}; //通知次数只通知2次
SenderUtil.init(this); Context context1 = this;
SenderUtil.init(context1);
new Timer().schedule(new TimerTask() { new Timer().schedule(new TimerTask() {
@Override @Override
public void run() { public void run() {
int batteryLevel = getBatteryLevel(); int batteryLevel = getBatteryLevel();
//System.out.println("当前剩余电量:" + batteryLevel + "%"); System.out.println("当前剩余电量:" + batteryLevel + "%");
int batteryLevelAlarm = SettingUtil.getBatteryLevelAlarm(); int batteryLevelAlarm = SettingUtil.getBatteryLevelAlarm();
if (alarmTimes[0] <= 1 && batteryLevelAlarm > 0 && batteryLevelAlarm <= 100 && batteryLevel == batteryLevelAlarm) { if (alarmTimes[0] <= 1 && batteryLevelAlarm > 0 && batteryLevelAlarm <= 100 && (batteryLevel == batteryLevelAlarm || batteryLevel == batteryLevelAlarm - 1)) {
Date date = new Date(); try {
String msg = "当前剩余电量:" + batteryLevel + "%,已经到达低电量预警阈值,请及时充电!"; alarmTimes[0] = alarmTimes[0] + 1;
System.out.println(msg); SmsVo smsVo = new SmsVo("88888888",
SmsVo smsVo = new SmsVo("888888", msg, date, ""); "当前剩余电量:" + batteryLevel + "%,已经到达低电量预警阈值,请及时充电!",
List<SenderModel> senderModels = SenderUtil.getSender(null, null); new Date(),
for (SenderModel senderModel : senderModels "低电量预警");
) { Log.d(TAG, "send_msg" + smsVo.toString());
long ruleId = 0; SendUtil.send_msg(context1, smsVo, 1);
long logId = LogUtil.addLog(new LogModel(smsVo.getMobile(), smsVo.getContent(), smsVo.getSimInfo(), ruleId)); } catch (Exception e) {
SendUtil.senderSendMsgNoHandError(smsVo, senderModel, logId); Log.e(TAG, "getLog e:" + e.getMessage());
} }
alarmTimes[0] = alarmTimes[0] + 1;
} }
if (batteryLevelAlarm > 0 && batteryLevelAlarm <= 100 && batteryLevel > batteryLevelAlarm) { if (batteryLevelAlarm > 0 && batteryLevelAlarm <= 100 && batteryLevel > batteryLevelAlarm) {

@ -1,3 +1,3 @@
#Fri Jul 16 10:33:23 CST 2021 #Fri Jul 16 10:33:23 CST 2021
versionName=2.0.0 versionName=2.0.1
versionCode=26 versionCode=27

Loading…
Cancel
Save