update:2020.05.28

fix:去掉应用安装权限申请
add:升级apk覆盖安装推送和接口
This commit is contained in:
2020-05-28 18:30:58 +08:00
parent a1b5f7e510
commit a6dfb4646e
8 changed files with 235 additions and 66 deletions

View File

@@ -5,6 +5,9 @@ import android.content.Context;
import android.content.ContextWrapper;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.BatteryManager;
import android.os.Build;
import android.os.Bundle;
@@ -293,22 +296,46 @@ public class MyJPushReceiver extends BroadcastReceiver {
}
try {
JSONObject jSONObject = new JSONObject(s);
s = jSONObject.optString("app_package");
String str = jSONObject.optString("app_url");
Log.e("mymjsheng", "app_package::" + s);
Log.e("mymjsheng", "app_url::" + str);
SaveListUtils.addList(s);
String app_package = jSONObject.optString("app_package");
String app_url = jSONObject.optString("app_url");
int app_version_code = jSONObject.optInt("app_version_code");
Log.e("mymjsheng", "app_package::" + app_package);
Log.e("mymjsheng", "app_url::" + app_url);
SaveListUtils.addList(app_package);
SaveListUtils.sendForceAPP(mContext);
if (!AppUtils.isAppInstalled(s)) {
if (!SaveListUtils.isDownLoading(s)) {
(Aria.download(this)
.load(str)
.setFilePath(PathUtils.getExternalDownloadsPath() + "/ygj/" + EncryptUtils.encryptMD5ToString(s) + ".apk").setExtendField(s))
PackageManager pm = mContext.getPackageManager();
PackageInfo packageInfo = null;
try {
packageInfo = pm.getPackageInfo(app_package, 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
if (packageInfo == null) {
if (!SaveListUtils.isDownLoading(app_url)) {
Aria.download(this)
.load(app_url)
.setFilePath(PathUtils.getExternalDownloadsPath() + "/ygj/" + EncryptUtils.encryptMD5ToString(s) + ".apk").setExtendField(app_package)
.create();
}
} else {
long appVersionCode;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
appVersionCode = packageInfo.getLongVersionCode();
} else {
appVersionCode = packageInfo.versionCode;
}
if (app_version_code > appVersionCode) {
if (!SaveListUtils.isDownLoading(app_url)) {
Aria.download(this)
.load(app_url)
.setFilePath(PathUtils.getExternalDownloadsPath() + "/ygj/" + EncryptUtils.encryptMD5ToString(s) + ".apk").setExtendField(app_package)
.create();
}
}
}
} catch (Exception e) {
e.printStackTrace();
Log.e("fht", "doDownloadAndInstall:" + e.getMessage());
}
}