diff --git a/common/src/main/java/com/xypower/common/MicroPhotoContext.java b/common/src/main/java/com/xypower/common/MicroPhotoContext.java index 0997e004..8e8c9735 100644 --- a/common/src/main/java/com/xypower/common/MicroPhotoContext.java +++ b/common/src/main/java/com/xypower/common/MicroPhotoContext.java @@ -314,10 +314,33 @@ public class MicroPhotoContext { */ - Intent LaunchIntent = context.getPackageManager().getLaunchIntentForPackage(PACKAGE_NAME_MPAPP); - LaunchIntent.putExtra("noDelay", 1); - LaunchIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - context.startActivity(LaunchIntent); + restartApp(context, PACKAGE_NAME_MPAPP); + } + + public static void restartApp(Context context, String packageName) { + /* + Context context = MicroPhotoService.this.getApplicationContext(); + Intent intent = getPackageManager().getLaunchIntentForPackage(context.getPackageName()); + + int noDelay = 1; + intent.putExtra("noDelay", noDelay); + PendingIntent restartIntent = PendingIntent.getActivity(context, 0, intent, 0); + AlarmManager mgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE); + mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent); // 1秒钟后重启应用 + System.exit(0); + + */ + + try { + Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName); + if (intent != null) { + intent.putExtra("noDelay", 1); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + context.startActivity(intent); + } + } catch (Exception e) { + e.printStackTrace(); + } } public static void saveMpAppConfig(Context context, AppConfig appConfig) { diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java b/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java index 4a651b75..d013b101 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java @@ -223,6 +223,11 @@ public class AppMaster { updateConfig(path, fileName, configName, fieldType, val); } + + String packageName = jsonObject.optString("packageName", null); + if (packageName != null) { + MicroPhotoContext.restartApp(mService.getApplicationContext(), packageName); + } } } catch (Exception ex) { }