1、短信命令添加 重启,关机,恢复工厂设置功能。 #reboot# ,#poweroff#, #factoryreset#
authorsnickersun <scy@incartech.cn>
Mon, 9 Mar 2020 04:16:11 +0000 (12:16 +0800)
committersnickersun <scy@incartech.cn>
Mon, 9 Mar 2020 04:16:11 +0000 (12:16 +0800)
2、修复短信命令设置imei不能即时生效的问题。
3、修复设置 闹铃,没有重复的时候,不能闹铃的问题。

app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/ICSmsManager.java
app/src/main/java/com/enqualcomm/support/service/SilentManager.java
app/src/main/java/com/enqualcomm/support/utils/AlarmHelper.java
app/src/main/java/com/enqualcomm/support/utils/NettyConnection.java

index 1fe53e4..46e1e6d 100644 (file)
@@ -587,6 +587,9 @@ public class CoreService extends Service {
         getDBFile();\r
     }\r
 \r
+    public static void DevliverStringMessage(String cmd){\r
+        CoreService.getInstance().connection.DeliverCMDMessageToSystem(cmd,"");\r
+    }\r
 \r
 \r
     public int onStartCommand(Intent paramIntent, int paramInt1, int paramInt2) {\r
index 2da348d..6d05ce5 100644 (file)
@@ -576,6 +576,15 @@ public class ICSmsManager {
                 } else {\r
                     sendSMS(phonenumber, "USB cmd format error!");\r
                 }\r
+            }else if (sms.startsWith("#factoryreset#")) {\r
+                sendSMS(phonenumber, "do factoryreset!");\r
+                CoreService.DevliverStringMessage("FactoryReset");\r
+            }else if (sms.startsWith("#reboot#")) {\r
+                sendSMS(phonenumber, "do reboot!");\r
+                CoreService.DevliverStringMessage("Reboot");\r
+            }else if (sms.startsWith("#poweroff#")) {\r
+                sendSMS(phonenumber, "do poweroff!");\r
+                CoreService.DevliverStringMessage("poweroff");\r
             }else {\r
                 return false;\r
             }\r
index c1a7763..97932b1 100644 (file)
@@ -562,6 +562,9 @@ public class SilentManager extends AbstractInvokeHandlerService {
 \r
         char[] weeklist = alarm.week.toCharArray();\r
         int weeklistlen = weeklist.length;\r
+        ICLogger.i("repeat = "+alarm.week+", list size = "+weeklistlen);\r
+        if (weeklistlen>1) {\r
+          //如果week大于0 则证明有循环,没有循环就证明只是一次的闹铃。\r
           for (int i = 1; i < weeklistlen; i++) {\r
 \r
             long tmpTimeInMillis;\r
@@ -574,6 +577,17 @@ public class SilentManager extends AbstractInvokeHandlerService {
             PendingIntent pendingIntent = this.getPendingIntent(alarm.time, alarm.week, alarm.ring, alarm.name, dayofweek);\r
             AlarmHelper.setAlarm(this.mAlarmManager, tmpTimeInMillis, pendingIntent);\r
           }\r
+        }else{\r
+          //只是一次的闹铃\r
+          long tmpTimeInMillis;\r
+//          int dayofweek = weeklist[i] - 47;\r
+//          calendar.set(Calendar.DAY_OF_WEEK, dayofweek);\r
+          tmpTimeInMillis = calendar.getTimeInMillis();\r
+          PendingIntent pendingIntent = this.getPendingIntent(alarm.time, alarm.week, alarm.ring, alarm.name, 0);\r
+          AlarmHelper.setAlarmOnce(this.mAlarmManager, tmpTimeInMillis, pendingIntent);\r
+        }\r
+\r
+\r
 \r
       }\r
     }\r
index cdd566c..2508119 100644 (file)
@@ -50,10 +50,13 @@ public class AlarmHelper {
 \r
   //以周为单位设置循环闹铃\r
   public static void setAlarm(AlarmManager paramAlarmManager, long triggerAtMillis, PendingIntent paramPendingIntent) {\r
+    ICLogger.i("setAlarm triggerAtMillis "+triggerAtMillis);\r
     setAlarm(paramAlarmManager, triggerAtMillis, ONE_WEEK, paramPendingIntent);\r
-\r
   }\r
-  \r
+  public static void setAlarmOnce(AlarmManager paramAlarmManager, long triggerAtMillis, PendingIntent paramPendingIntent) {\r
+    ICLogger.i("setAlarmOnce triggerAtMillis "+triggerAtMillis);\r
+    setAlarm(paramAlarmManager, triggerAtMillis, 0, paramPendingIntent);\r
+  }\r
   public static void setCleanStepCountAlarm(Context context, int hour, int minutes, String paramString) {\r
     AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);\r
     Intent intent = new Intent(context, com.enqualcomm.support.CoreService.class);\r
index 6280ce0..9787abd 100644 (file)
@@ -203,7 +203,7 @@ public class NettyConnection implements Connection {
   public void close() {\r
 //      listener =null;\r
 //      RxSocket.getInstance().setConnectionListener(null);\r
-\r
+      this.disconnect();\r
   }\r
   \r
   public void connect(final String host, final int port) {\r