Procházet zdrojové kódy

<APP在线升级失败不再重复下载,而是返回主界面>

weizhengliang před 4 roky
rodič
revize
a6a7ab0d25

+ 1 - 1
app/build.gradle

@@ -25,7 +25,7 @@ android {
         minSdkVersion 15
         targetSdkVersion 26
         versionCode 1
-        versionName "1.35"
+        versionName "1.36"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
 
         buildConfigField "String", "BUILD_TIME", getDate()

+ 5 - 1
app/src/main/java/com/wdkl/callingbed2/ui/APPUpdateActivity.java

@@ -7,6 +7,7 @@ import android.os.Message;
 import com.wdkl.callingbed2.R;
 import com.wdkl.callingbed2.base.BaseActivity;
 import com.wdkl.callingbed2.entity.MessageEvent;
+import com.wdkl.callingbed2.util.AutoRebootUtil;
 import com.wdkl.callingbed2.util.DownloadUtil;
 import com.wdkl.callingbed2.util.LogUtil;
 import com.wdkl.callingbed2.util.StringUtils;
@@ -93,13 +94,16 @@ public class APPUpdateActivity extends BaseActivity {
                     LogUtil.d(APPUpdateActivity.class, "下载==APP_UPDATE_SUCSSED");
                     //升级
                     SilentUpdateUtil.updateApk2(APPUpdateActivity.this);
+                    APPUpdateActivity.this.finish();
                     break;
                 case APP_UPDATE_ING:
                     int progress = (int) msg.obj;
                     progressview.setCurProgress(progress);
                     break;
                 case APP_UPDATE_FILED:
-                    if (StringUtils.notEmpty(downLoadURL)) downLoadAPK(downLoadURL);
+                    //if (StringUtils.notEmpty(downLoadURL)) downLoadAPK(downLoadURL);
+                    APPUpdateActivity.this.finish();
+                    AutoRebootUtil.restartApp();
                     break;
             }
         }

+ 3 - 0
app/src/main/java/com/wdkl/callingbed2/ui/CallingBedActivity.java

@@ -26,6 +26,7 @@ import android.support.design.widget.Snackbar;
 import android.support.v4.content.ContextCompat;
 import android.support.v7.widget.RecyclerView;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.Gravity;
 import android.view.MotionEvent;
 import android.view.View;
@@ -1287,11 +1288,13 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
                                     String APPVersion = StringUtils.deleteCharAt(object.getString("APPVersion"), 0);
                                     String APPVersion_Now = StringUtils.getAppVersionName(CallingBedActivity.this);
                                     String downloadURL = object.getString("downloadURL");
+                                    LogUtil.d("appCheckUpdate", "当前版本: " + APPVersion_Now + ", 服务器版本: " + APPVersion);
                                     if (!APPVersion_Now.equals(APPVersion)) {
                                         if (StringUtils.notEmpty(downloadURL)) {
                                             ToastUtil.showToast("开始下载! 当前版本: " + APPVersion_Now + ", 服务器版本: " + APPVersion);
                                             closeHeart();//关闭心跳
                                             Intent intent = new Intent(CallingBedActivity.this, APPUpdateActivity.class);
+                                            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                             intent.putExtra("downLoadURL", Constants.URL + Constants.URL_END + "/" + downloadURL);
                                             startActivity(intent);
                                         } else {

+ 3 - 2
app/src/main/java/com/wdkl/callingbed2/util/silentupdate/SilentUpdateUtil.java

@@ -75,6 +75,7 @@ public class SilentUpdateUtil {
 
         String path = FILE_APK_PATH + "/" + FILE_APK_NAME;
         if (installApp(context.getPackageName(), path)) {
+            LogUtil.d("apk", "安装成功");
             doRestart(context);
         } else {
             LogUtil.d("apk", "安装失败");
@@ -99,7 +100,7 @@ public class SilentUpdateUtil {
                 errorMsg.append(s);
             }
         } catch (Exception e) {
-
+            e.printStackTrace();
         } finally {
             try {
                 if (successResult != null) {
@@ -109,7 +110,7 @@ public class SilentUpdateUtil {
                     errorResult.close();
                 }
             } catch (Exception e) {
-
+                e.printStackTrace();
             }
             if (process != null) {
                 process.destroy();