Browse Source

1.更换主应用包名,并卸载之前应用

JaycePC 2 months ago
parent
commit
dcf32ecf19

+ 1 - 1
app/src/main/java/xn/update/SettingActivity.java

@@ -140,6 +140,6 @@ public class SettingActivity extends AppCompatActivity {
     }
 
     private void startMasterApp() {
-        Tool.INSTANCE.openApp("com.dlc.xn.eboard");
+        Tool.INSTANCE.openApp("xn.xxp");
     }
 }

+ 1 - 3
app/src/main/java/xn/update/Tool.java

@@ -3,7 +3,6 @@ package xn.update;
 import android.net.Uri;
 import android.util.Log;
 
-import com.blankj.utilcode.util.ActivityUtils;
 import com.blankj.utilcode.util.AppUtils;
 import com.blankj.utilcode.util.LogUtils;
 import com.blankj.utilcode.util.SPUtils;
@@ -12,7 +11,6 @@ import com.hikvision.dmb.system.InfoSystemApi;
 
 import okhttp3.HttpUrl;
 import xn.update.constant.AppConstant;
-import xn.update.service.TaskService;
 
 public enum Tool {
     INSTANCE;
@@ -52,7 +50,7 @@ public enum Tool {
     }
 
     public void startMasterApp() {
-        openApp(SPUtils.getInstance().getString("masterApp", "com.dlc.xn.eboard"));
+        openApp(SPUtils.getInstance().getString("masterApp", "xn.xxp"));
     }
 
     public void startTaskService() {

+ 2 - 2
app/src/main/java/xn/update/http/HttpTool.java

@@ -25,7 +25,7 @@ public enum HttpTool {
         return OkHttpUtils.INSTANCE.postSync(Tool.INSTANCE.getBaseUrl() + "terminal/upgrade/device/task", jsonObject.toString());
     }
 
-    public Response updateCallBack(String taskId, String deviceCode, boolean isDownload, boolean isInstall) throws IOException, JSONException {
+    public void updateCallBack(String taskId, String deviceCode, boolean isDownload, boolean isInstall) throws IOException, JSONException {
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("taskId", taskId);
         jsonObject.put("deviceCode", deviceCode);
@@ -35,7 +35,7 @@ public enum HttpTool {
         if (isInstall) {
             jsonObject.put("status", "success");
         }
-        return OkHttpUtils.INSTANCE.postSync(Tool.INSTANCE.getBaseUrl() + "terminal/upgrade/device/callback", jsonObject.toString());
+        OkHttpUtils.INSTANCE.postSync(Tool.INSTANCE.getBaseUrl() + "terminal/upgrade/device/callback", jsonObject.toString());
     }
 
     /**

+ 2 - 2
app/src/main/java/xn/update/receiver/TimeTickReceiver.java

@@ -187,9 +187,9 @@ public class TimeTickReceiver extends BroadcastReceiver {
                                 for (String item : itemArray) {
                                     if (item.contains("/")) {
                                         String packageName = item.substring(0, item.indexOf("/"));
-                                        if (!"com.dlc.xn.eboard".equals(packageName)) {
+                                        if (!"xn.xxp".equals(packageName)) {
                                             LogUtils.d("定时拉起主应用");
-                                            Tool.INSTANCE.stopApp("com.dlc.xn.eboard");
+                                            Tool.INSTANCE.stopApp("xn.xxp");
                                             Tool.INSTANCE.startMasterApp();
                                         }
                                         break;

+ 5 - 9
app/src/main/java/xn/update/service/TaskService.java

@@ -27,7 +27,6 @@ import com.blankj.utilcode.util.LogUtils;
 import com.blankj.utilcode.util.NetworkUtils;
 import com.blankj.utilcode.util.SPUtils;
 import com.blankj.utilcode.util.ThreadUtils;
-import com.blankj.utilcode.util.TimeUtils;
 import com.hikvision.dmb.display.InfoDisplayApi;
 import com.hikvision.dmb.network.InfoNetworkApi;
 import com.hikvision.dmb.system.InfoSystemApi;
@@ -41,15 +40,9 @@ import org.greenrobot.eventbus.EventBus;
 import org.json.JSONObject;
 
 import java.io.File;
-import java.nio.file.Files;
-import java.nio.file.attribute.BasicFileAttributes;
-import java.text.SimpleDateFormat;
 import java.util.List;
-import java.util.Locale;
 import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.TimeUnit;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 import okhttp3.Response;
 import xn.update.R;
@@ -74,6 +67,9 @@ public class TaskService extends Service {
     @Override
     public void onCreate() {
         super.onCreate();
+        // 卸载老旧app
+        Tool.INSTANCE.cmd("pm uninstall com.dlc.xn.eboard");
+
         // 启动保活worker
         PeriodicWorkRequest taskRequest = new PeriodicWorkRequest.Builder(TaskWork.class, 15, TimeUnit.MINUTES).build();
         WorkManager.getInstance(getApplicationContext()).enqueueUniquePeriodicWork("Task", ExistingPeriodicWorkPolicy.CANCEL_AND_REENQUEUE, taskRequest);
@@ -92,7 +88,6 @@ public class TaskService extends Service {
         InfoSystemApi.setLauncherForced(AppUtils.getAppPackageName());
 
         createNotificationChannel();
-        LogUtils.d(getClass().getName(), "onCreate");
         timeTickReceiver = new TimeTickReceiver();
         // 监听分钟广播
         registerReceiver(timeTickReceiver, new IntentFilter(Intent.ACTION_TIME_TICK));
@@ -110,7 +105,8 @@ public class TaskService extends Service {
             public void onFinish() {
                 if (!XXPermissions.isGranted(ActivityUtils.getTopActivity(), Permission.READ_EXTERNAL_STORAGE)
                         || !XXPermissions.isGranted(ActivityUtils.getTopActivity(), Permission.WRITE_EXTERNAL_STORAGE)
-                        || !XXPermissions.isGranted(ActivityUtils.getTopActivity(), Permission.NOTIFICATION_SERVICE)) {
+                        || !XXPermissions.isGranted(ActivityUtils.getTopActivity(), Permission.NOTIFICATION_SERVICE)
+                ) {
                     Tool.INSTANCE.cmd("pm grant " + AppUtils.getAppPackageName() + " android.permission.READ_EXTERNAL_STORAGE");
                     Tool.INSTANCE.cmd("pm grant " + AppUtils.getAppPackageName() + " android.permission.WRITE_EXTERNAL_STORAGE");
                     Tool.INSTANCE.cmd("pm grant " + AppUtils.getAppPackageName() + " android.permission.NOTIFICATION_SERVICE");