增加重启mpapp和mpmaster app的功能

hdrplus
Matthew 11 months ago
parent cfca6f93cc
commit 84f83c0d28

@ -69,6 +69,14 @@ public class SimUtil {
ifmessageCorrect = true; ifmessageCorrect = true;
sendtype = SmsTypeEnum.REBOOT2.value(); sendtype = SmsTypeEnum.REBOOT2.value();
sendmessage = getSendString(content, ifmessageCorrect); sendmessage = getSendString(content, ifmessageCorrect);
} else if (content.contains(SmsTypeEnum.RESTART_MP.value())) {
ifmessageCorrect = true;
sendtype = SmsTypeEnum.RESTART_MP.value();
sendmessage = getSendString(content, ifmessageCorrect);
} else if (content.contains(SmsTypeEnum.RESTART_MPMST.value())) {
ifmessageCorrect = true;
sendtype = SmsTypeEnum.RESTART_MPMST.value();
sendmessage = getSendString(content, ifmessageCorrect);
} else if (content.contains(SmsTypeEnum.SET_YW_SCHEDULE.value())) { } else if (content.contains(SmsTypeEnum.SET_YW_SCHEDULE.value())) {
ifmessageCorrect = true; ifmessageCorrect = true;
String[] split1 = StringUtils.splitString1(content); String[] split1 = StringUtils.splitString1(content);
@ -553,11 +561,24 @@ public class SimUtil {
int slot = -1; int slot = -1;
Set<String> keySet = bundle.keySet(); Set<String> keySet = bundle.keySet();
for (String key : keySet) { for (String key : keySet) {
if (key.toLowerCase().contains("slot") || key.toLowerCase().contains("sim")) { String lcKey = key.toLowerCase();
String value = bundle.getString(key, "-1"); if (lcKey.contains("slot") || lcKey.contains("sim")) {
if (value.equals("0") | value.equals("1") | value.equals("2")) { Object value = bundle.get(key);
slot = bundle.getInt(key, -1); if (value == null) {
continue;
} }
if (value instanceof Integer) {
Integer intVal = (Integer) value;
slot = intVal.intValue();
} else if (value instanceof String) {
String str = (String)value;
if (str.equals("0") | str.equals("1") | str.equals("2")) {
// slot = bundle.getInt(key, -1);
slot = Integer.parseInt(str);
}
}
break; break;
} }
} }

@ -44,6 +44,10 @@ public class SmsSendReceiver extends BroadcastReceiver {
MpMasterService.rebootDevice(); MpMasterService.rebootDevice();
} else if (type.contains(SmsTypeEnum.REBOOT2.value())) { } else if (type.contains(SmsTypeEnum.REBOOT2.value())) {
MpMasterService.rebootDevice(); MpMasterService.rebootDevice();
} else if (type.contains(SmsTypeEnum.RESTART_MP.value())) {
UpdateSysConfigUtil.restartApp(context);
} else if (type.contains(SmsTypeEnum.RESTART_MPMST.value())) {
UpdateSysConfigUtil.restartMasterApp(context);
} else if (type.contains(SmsTypeEnum.SET_YW_SCHEDULE.value())) { } else if (type.contains(SmsTypeEnum.SET_YW_SCHEDULE.value())) {
UpdateSysConfigUtil.restartMasterApp(context); UpdateSysConfigUtil.restartMasterApp(context);
} else if (type.contains(SmsTypeEnum.SET_OPERATE.value())) { } else if (type.contains(SmsTypeEnum.SET_OPERATE.value())) {

@ -2,6 +2,8 @@ package com.xypower.mpmaster.sms;
public enum SmsTypeEnum { public enum SmsTypeEnum {
REBOOT1("yw+at+stw21"), REBOOT2("at+stw21"), //重启命令 REBOOT1("yw+at+stw21"), REBOOT2("at+stw21"), //重启命令
RESTART_MP("at+restart=mpapp"),
RESTART_MPMST("at+restart=mpmaster"),
SET_YW_SCHEDULE("yw+at+stw51"), //拍照时间表设置 SET_YW_SCHEDULE("yw+at+stw51"), //拍照时间表设置
GET_YW_SCHEDULE("yw+at+str51"), //查询拍照时间表 GET_YW_SCHEDULE("yw+at+str51"), //查询拍照时间表
SET_OPERATE("yw+at+stw52"), //设置运维开关 SET_OPERATE("yw+at+stw52"), //设置运维开关

@ -329,13 +329,26 @@ public class UpdateSysConfigUtil {
} }
//重启应用 //重启应用
public static void restartApp(Context context) { public static void restartApp(Context context) {
Intent intent = new Intent(MicroPhotoContext.ACTION_RESTART_MP);
intent.putExtra("noDelay", 1);
intent.setPackage(PACKAGE_NAME_MPAPP);
context.sendBroadcast(intent);
try {
Thread.sleep(200);
} catch (Exception ex) {
ex.printStackTrace();
}
PackageManager packageManager = context.getPackageManager(); PackageManager packageManager = context.getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage(MicroPhotoContext.PACKAGE_NAME_MPAPP);
intent = packageManager.getLaunchIntentForPackage(MicroPhotoContext.PACKAGE_NAME_MPAPP);
intent.putExtra("noDelay", 1); intent.putExtra("noDelay", 1);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // intent.putExtra("reboot", 1);
intent.addFlags(/*Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | */Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent); context.startActivity(intent);
} }

Loading…
Cancel
Save