diff --git a/android/src/main/java/top/jerryyan/RN/A/VersionUpgrade/UpgradeModule.java b/android/src/main/java/top/jerryyan/RN/A/VersionUpgrade/UpgradeModule.java index 63f2ee8..d9a7f77 100644 --- a/android/src/main/java/top/jerryyan/RN/A/VersionUpgrade/UpgradeModule.java +++ b/android/src/main/java/top/jerryyan/RN/A/VersionUpgrade/UpgradeModule.java @@ -158,11 +158,18 @@ public class UpgradeModule extends ReactContextBaseJavaModule { dialog.setProgress((int)((1000.0f*current)/total)); } fileOutputStream.flush(); - Message message = new Message(); + final Message message = new Message(); message.what = 0; message.obj = file.toURI().toString(); handler.sendMessage(message); - dialog.dismiss(); + dialog.setButton(ProgressDialog.BUTTON_POSITIVE, "更新", + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + handler.sendMessage(message); + } + } + ); } catch (IOException e) { Log.e("REQUEST FAILED", "AAA", e); } finally { @@ -257,10 +264,13 @@ final class DoInstallHandler extends Handler { @Override public void handleMessage(Message message) { - if(!module._hasPermissionToInstall()) module._requestInstallPermission(); - if(message.what == 0){ - String fileUri = (String)message.obj; - module.installPackage(fileUri); + if(!module._hasPermissionToInstall()) { + module._requestInstallPermission(); + }else{ + if(message.what == 0){ + String fileUri = (String)message.obj; + module.installPackage(fileUri); + } } } } \ No newline at end of file