就这样吧
This commit is contained in:
parent
8f6ba4a99a
commit
7836530c27
@ -20,7 +20,10 @@ import com.facebook.react.bridge.ReactMethod;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@ -33,7 +36,7 @@ import okhttp3.Response;
|
||||
public class UpgradeModule extends ReactContextBaseJavaModule {
|
||||
private final ReactApplicationContext reactContext;
|
||||
private String DOWNLOAD_URL = "http://luntan.qgmzbxs.com/source/tsgzCircles.apk";
|
||||
private String HOST = "http://luntan.qgmzbxs.com/";
|
||||
private String HOST = "http://www.tsgzvore.com/";
|
||||
private String TITLE = "更新";
|
||||
private String CONTENT = "大家好,我是勤劳的催更新菌\n点击更新,让我们一起成为一天更新八次的暴躁老哥吧";
|
||||
|
||||
@ -99,6 +102,45 @@ public class UpgradeModule extends ReactContextBaseJavaModule {
|
||||
.method("GET", null)
|
||||
.build();
|
||||
Call call = okHttpClient.newCall(request);
|
||||
final Handler handler = new DoInstallHandler(this);
|
||||
call.enqueue(new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
Log.e("PACKAGE DOWNLOAD", call.toString(), e);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) {
|
||||
if (response.isSuccessful()) {
|
||||
if (response.body() == null) return;
|
||||
FileOutputStream fileOutputStream = null;
|
||||
InputStream stream = null;
|
||||
try {
|
||||
stream = response.body().byteStream();
|
||||
byte[] buffer = new byte[2048];
|
||||
int len = 0;
|
||||
long total = response.body().contentLength();
|
||||
File file = new File("update.apk");
|
||||
fileOutputStream = new FileOutputStream(file);
|
||||
long sum = 0;
|
||||
while ((len = stream.read(buffer)) != -1) {
|
||||
fileOutputStream.write(buffer, 0, len);
|
||||
sum += len;
|
||||
}
|
||||
fileOutputStream.flush();
|
||||
} catch (IOException e) {
|
||||
Log.e("REQUEST FAILED", "AAA", e);
|
||||
} finally {
|
||||
try {
|
||||
if (fileOutputStream != null) fileOutputStream.close();
|
||||
if (stream != null) stream.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
@ -158,14 +200,26 @@ public class UpgradeModule extends ReactContextBaseJavaModule {
|
||||
}
|
||||
}
|
||||
|
||||
final class ShowUpgradeAlertHandler extends Handler
|
||||
{
|
||||
final class ShowUpgradeAlertHandler extends Handler {
|
||||
private UpgradeModule module;
|
||||
|
||||
ShowUpgradeAlertHandler(UpgradeModule module)
|
||||
{
|
||||
ShowUpgradeAlertHandler(UpgradeModule module) {
|
||||
this.module = module;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(Message message) {
|
||||
module._alertDialog();
|
||||
}
|
||||
}
|
||||
|
||||
final class DoInstallHandler extends Handler {
|
||||
private UpgradeModule module;
|
||||
|
||||
DoInstallHandler(UpgradeModule module) {
|
||||
this.module = module;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(Message message) {
|
||||
module._alertDialog();
|
||||
|
Loading…
x
Reference in New Issue
Block a user