diff --git a/app/build.gradle b/app/build.gradle index 477874c..1241826 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { targetSdkVersion 26 // versionCode 85 // versionName "2.0.4.6"//正式jiaoguanyi.com - versionCode 98 - versionName "2.6.0"//测试jiaoguanyi.cn + versionCode 105 + versionName "2.6.7"//测试jiaoguanyi.cn testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" packagingOptions { diff --git a/app/src/main/java/com/mjsheng/myappstore/MyApplication.java b/app/src/main/java/com/mjsheng/myappstore/MyApplication.java index 0db7a99..7a94f72 100644 --- a/app/src/main/java/com/mjsheng/myappstore/MyApplication.java +++ b/app/src/main/java/com/mjsheng/myappstore/MyApplication.java @@ -306,66 +306,66 @@ public class MyApplication extends MultiDexApplication implements Thread.Uncaugh NetStateChangeReceiver.unregisterReceiver(this); } - static List fileList = new ArrayList<>(); - - - static String packageName = ""; - - public void setInstallIngPackageName(String packageNames) { - packageName = packageNames; - Log.e("fht", "正在安装:" + packageNames); - } - - public String getInstallIngPackageName() { - return packageName; - } - - public void addFileData(FileData data) { - fileList.add(data); - updateList(); - } - - public void removeDate(String packageName) { - if (fileList != null && fileList.size() > 0) { - for (FileData data : fileList) { - if (data.getPackageName().equals(packageName)) { - fileList.remove(data); - break; - } else { - Log.e("fht", "not found object"); - } - } - } - setInstallIngPackageName(""); - if (fileList.size() > 0) { - updateList(); - } else { - Log.e("fht", "fileList为空"); - setInstallIngPackageName(""); - } - - } - - public void updateList() { - if (getInstallIngPackageName().equals("") || ApkUtils.isAvailable(getAppContext(), packageName)) { - if (fileList != null && fileList.size() > 0) { - if (!fileList.get(0).getPackageName().equals("") || ApkUtils.isAvailable(getAppContext(), fileList.get(0).getPackageName())) { - String s = packageName; - ApkUtils.installApp(this, fileList.get(0).getFilePath()); - setInstallIngPackageName(fileList.get(0).getPackageName()); - } else { - removeDate(fileList.get(0).getPackageName()); - Log.e("fht", "已安装"); - setInstallIngPackageName(""); - } - } else { - Log.e("fht", "任务为空"); - } - } else { - Log.e("fht", "安装中:" + packageName); - - } - } +// static List fileList = new ArrayList<>(); +// +// +// static String packageName = ""; +// +// public void setInstallIngPackageName(String packageNames) { +// packageName = packageNames; +// Log.e("fht", "正在安装:" + packageNames); +// } +// +// public String getInstallIngPackageName() { +// return packageName; +// } +// +// public void addFileData(FileData data) { +// fileList.add(data); +// updateList(); +// } +// +// public void removeDate(String packageName) { +// if (fileList != null && fileList.size() > 0) { +// for (FileData data : fileList) { +// if (data.getPackageName().equals(packageName)) { +// fileList.remove(data); +// break; +// } else { +// Log.e("fht", "not found object"); +// } +// } +// } +// setInstallIngPackageName(""); +// if (fileList.size() > 0) { +// updateList(); +// } else { +// Log.e("fht", "fileList为空"); +// setInstallIngPackageName(""); +// } +// +// } +// +// public void updateList() { +// if (getInstallIngPackageName().equals("") || ApkUtils.isAvailable(getAppContext(), packageName)) { +// if (fileList != null && fileList.size() > 0) { +// if (!fileList.get(0).getPackageName().equals("") || ApkUtils.isAvailable(getAppContext(), fileList.get(0).getPackageName())) { +// String s = packageName; +// ApkUtils.installApp(this, fileList.get(0).getFilePath()); +// setInstallIngPackageName(fileList.get(0).getPackageName()); +// } else { +// removeDate(fileList.get(0).getPackageName()); +// Log.e("fht", "已安装"); +// setInstallIngPackageName(""); +// } +// } else { +// Log.e("fht", "任务为空"); +// } +// } else { +// Log.e("fht", "安装中:" + packageName); +// +// } +// } } diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java b/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java index 8518d2c..6481ac3 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java +++ b/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java @@ -160,7 +160,7 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - Aria.download(this).removeAllTask(false); +// Aria.download(this).removeAllTask(false); callback = new ToastCallback(this); initView(); @@ -173,7 +173,19 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs sendBroadcast(allIntent); } - + //获取教管易版本号 + synchronized private String getAPPVersionName() { + PackageManager pm = getPackageManager(); + String versionName; + try { + PackageInfo packageInfo = pm.getPackageInfo("com.jiaoguanyi.store", 0); + versionName = packageInfo.versionName; + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + versionName = "0"; + } + return versionName; + } synchronized public void sendMACaddress() { String rid = JPushInterface.getRegistrationID(getApplicationContext()); @@ -181,8 +193,9 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs .params("sn", Utils.getSerial()) .params("mac", com.blankj.utilcode.util.DeviceUtils.getMacAddress()) .params("jpush_id", rid) - .params("appstore_version", Utils.getProperty("ro.custom.build.version", "获取失败")) - .params("store_version", BuildConfig.VERSION_NAME) + .params("devices_version", Utils.getProperty("ro.custom.build.version", "获取失败")) + .params("appstore_version", BuildConfig.VERSION_NAME)//设备信息版本号 + .params("store_version", getAPPVersionName())//管教易版本号 .execute(new StringCallback() { @Override public void onSuccess(String s, Call call, Response response) { @@ -404,7 +417,7 @@ public class MainActivity extends AppCompatActivity implements NetStateChangeObs getSystemSetting();//设置系统管控 getNetAndLaunchSetting();//联网管控 Aria.download(this).resumeAllTask(); - getForceDownload();//强制下载apk +// getForceDownload();//强制下载apk resetDevice();//恢复出厂设置 checkUpdate();//更新app // fromNetToUpdate(); diff --git a/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java b/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java index 0c5b802..de2e535 100644 --- a/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java +++ b/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java @@ -7,6 +7,7 @@ import android.util.Log; import com.mjsheng.myappstore.server.GuardService; import com.mjsheng.myappstore.server.InitJpushServer; +import com.mjsheng.myappstore.server.MyDownloadService; import com.mjsheng.myappstore.server.StepService; public class BootReceiver extends BroadcastReceiver { @@ -16,10 +17,27 @@ public class BootReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { Log.e("BootReceiver", intent.getAction()); if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) { - Intent i = new Intent(context, InitJpushServer.class); - context.startService(i); + context.startService(new Intent(context, InitJpushServer.class)); context.startService(new Intent(context, StepService.class)); context.startService(new Intent(context, GuardService.class)); + context.startService(new Intent(context, MyDownloadService.class)); + } else if ( + intent.getAction().equals("android.intent.action.BATTERY_CHANGED") + || intent.getAction().equals("android.intent.action.BATTERY_CHANGED") + || intent.getAction().equals("android.intent.action.BATTERY_LOW") + || intent.getAction().equals("android.intent.action.BATTERY_OKAY") + || intent.getAction().equals("android.intent.action.ACTION_POWER_CONNECTED") + || intent.getAction().equals("android.intent.action.DATE_CHANGED") + || intent.getAction().equals("android.intent.action.TIME_TICK") + || intent.getAction().equals("android.intent.action.USER_PRESENT") + || intent.getAction().equals("android.intent.action.ACTION_SCREEN_ON") + || intent.getAction().equals("android.intent.action.ACTION_SCREEN_OFF") + ) { + Log.e("fht", "BootReceiver MSG" + intent.getAction()); + context.startService(new Intent(context, InitJpushServer.class)); + context.startService(new Intent(context, StepService.class)); + context.startService(new Intent(context, GuardService.class)); + context.startService(new Intent(context, MyDownloadService.class)); } } diff --git a/app/src/main/java/com/mjsheng/myappstore/receiver/NewAppReceiver.java b/app/src/main/java/com/mjsheng/myappstore/receiver/NewAppReceiver.java index 7f38ce2..f8dadae 100644 --- a/app/src/main/java/com/mjsheng/myappstore/receiver/NewAppReceiver.java +++ b/app/src/main/java/com/mjsheng/myappstore/receiver/NewAppReceiver.java @@ -46,20 +46,20 @@ public class NewAppReceiver extends BroadcastReceiver { allIntent.setAction(Utils.DOWNLOAD_ALLTASK_ACTION); context.sendBroadcast(allIntent); String packageName = intent.getDataString().replace("package:", ""); - MyApplication.getInstance().removeDate(packageName); +// MyApplication.getInstance().removeDate(packageName); Log.e(TAG, "安装了:" + packageName + "包名的程序"); Log.e("fht", "安装了:" + packageName + "包名的程序"); - OkGo.post(Configure.HTTP_TAG_DOWNLOAD_URL) - .params("key", Configure.HTTP_KEY) - .params("sn", Utils.getSerial()) - .params("package", packageName) - .tag(this) - .execute(new StringCallback() { - @Override - public void onSuccess(String s, Call call, Response response) { - - } - }); +// OkGo.post(Configure.HTTP_TAG_DOWNLOAD_URL) +// .params("key", Configure.HTTP_KEY) +// .params("sn", Utils.getSerial()) +// .params("package", packageName) +// .tag(this) +// .execute(new StringCallback() { +// @Override +// public void onSuccess(String s, Call call, Response response) { +// +// } +// }); SaveListUtils.getDownLoadList().remove(packageName);//移除下载列表 // ToastTool.show("安装成功"); if (!packageName.equals(Utils.YOUNGSYSTEM_APP_TONGBU) && !packageName.equals(context.getPackageName())) { diff --git a/app/src/main/java/com/mjsheng/myappstore/server/GuardService.java b/app/src/main/java/com/mjsheng/myappstore/server/GuardService.java index 3e62b0c..3d8e14d 100644 --- a/app/src/main/java/com/mjsheng/myappstore/server/GuardService.java +++ b/app/src/main/java/com/mjsheng/myappstore/server/GuardService.java @@ -83,14 +83,14 @@ public class GuardService extends Service { //在这里处理任务执行中的状态,如进度进度条的刷新 @Download.onTaskRunning protected void running(com.arialyy.aria.core.download.DownloadTask task) { - Log.e("mjsheng", "正在下载=--------------::" + task.getState() + "-------" + task.getPercent() + "-------" + task.getExtendField()); + Log.e("info", "正在下载=--------------::" + task.getState() + "-------" + task.getPercent() + "-------" + task.getExtendField()); ToastUtils.showShort("正在下载=--------------::" + task.getExtendField() + "-------" + task.getPercent()); } @Download.onTaskComplete void taskComplete(com.arialyy.aria.core.download.DownloadTask task) { //在这里处理任务完成的状态 - String filepath = task.getDownloadPath(); + final String filepath = task.getDownloadPath(); final String packageName = task.getExtendField(); Log.e("mjsheng", "downloadPath::" + filepath); Log.e("mjsheng", "extendField::" + packageName); @@ -100,7 +100,12 @@ public class GuardService extends Service { s1 = s + "," + packageName; Settings.System.putString(getContentResolver(), "qch_app_forbid", s1); } - ApkUtils.installApp(GuardService.this, filepath); + new Thread(new Runnable() { + @Override + public void run() { + ApkUtils.installApp(GuardService.this, filepath); + } + }).start(); } } diff --git a/app/src/main/java/com/mjsheng/myappstore/server/InitJpushServer.java b/app/src/main/java/com/mjsheng/myappstore/server/InitJpushServer.java index 72af38d..17b927b 100644 --- a/app/src/main/java/com/mjsheng/myappstore/server/InitJpushServer.java +++ b/app/src/main/java/com/mjsheng/myappstore/server/InitJpushServer.java @@ -93,6 +93,7 @@ public class InitJpushServer extends Service { return super.onStartCommand(intent, flags, startId); } + private void setJpushTags() { OkGo.get(Configure.GET_DEVICES_TAGS) .params("sn", Utils.getSerial()) @@ -352,7 +353,7 @@ public class InitJpushServer extends Service { result = result + "," + appstore; } if (!result.contains(store)) { - result = result + ","+ store; + result = result + "," + store; } Settings.System.putString(getContentResolver(), "qch_app_forbid", result); } else { @@ -652,6 +653,20 @@ public class InitJpushServer extends Service { }); } + //获取教管易版本号 + synchronized private String getAPPVersionName() { + PackageManager pm = getPackageManager(); + String versionName; + try { + PackageInfo packageInfo = pm.getPackageInfo("com.jiaoguanyi.store", 0); + versionName = packageInfo.versionName; + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + versionName = "0"; + } + return versionName; + } + synchronized public void sendMACaddress() { String rid = JPushInterface.getRegistrationID(getApplicationContext()); @@ -659,19 +674,20 @@ public class InitJpushServer extends Service { .params("sn", Utils.getSerial()) .params("mac", com.blankj.utilcode.util.DeviceUtils.getMacAddress()) .params("jpush_id", rid) - .params("appstore_version", Utils.getProperty("ro.custom.build.version","获取失败")) - .params("store_version", BuildConfig.VERSION_NAME) + .params("devices_version", Utils.getProperty("ro.custom.build.version", "获取失败")) + .params("appstore_version", BuildConfig.VERSION_NAME)//设备信息版本号 + .params("store_version", getAPPVersionName())//管教易版本号 .execute(new StringCallback() { @Override public void onSuccess(String s, Call call, Response response) { com.alibaba.fastjson.JSONObject msgObject = JSON.parseObject(s); - Log.e("fht", "sendMACaddress onSuccess"+s); + Log.e("fht", "sendMACaddress onSuccess" + s); } @Override public void onError(Call call, Response response, Exception e) { super.onError(call, response, e); - Log.e("fht", "sendMACaddress onError:"+e.getMessage()); + Log.e("fht", "sendMACaddress onError:" + e.getMessage()); } }); { @@ -714,7 +730,7 @@ public class InitJpushServer extends Service { getDeselectBrowerID(); getNetAndLaunchSetting(); Aria.download(this).resumeAllTask(); - getForceDownload(); +// getForceDownload(); getSystemSetting();//从后台获取功能状态 resetDevice(); checkUpdate(); @@ -949,7 +965,7 @@ public class InitJpushServer extends Service { if (packageInfo == null || packageInfo.versionCode != versionCode) { Aria.download(this) .load(url) //读取下载地址 - .setFilePath(PathUtils.getExternalDownloadsPath() + "/ygj/" + EncryptUtils.encryptMD5ToString(packageName) + ".apk",true) + .setFilePath(PathUtils.getExternalDownloadsPath() + "/ygj/" + EncryptUtils.encryptMD5ToString(packageName) + ".apk", true) .setExtendField(packageName) .start(); //启动下载} } else { diff --git a/app/src/main/java/com/mjsheng/myappstore/server/StepService.java b/app/src/main/java/com/mjsheng/myappstore/server/StepService.java index ad08d73..e75f9aa 100644 --- a/app/src/main/java/com/mjsheng/myappstore/server/StepService.java +++ b/app/src/main/java/com/mjsheng/myappstore/server/StepService.java @@ -67,17 +67,17 @@ public class StepService extends Service { public int onStartCommand(Intent intent, int flags, int startId) { // startForeground(1, new Notification()); // 绑定建立链接 - try { - final String filePath = intent.getStringExtra("filePath"); - final String packageName = intent.getStringExtra("packageName"); - Log.e("fht", filePath); - Log.e("fht", packageName); - FileData fileData = new FileData(filePath, packageName); - MyApplication.getInstance().addFileData(fileData); - - } catch (Exception e) { - Log.e("fht", e.getMessage()); - } +// try { +// final String filePath = intent.getStringExtra("filePath"); +// final String packageName = intent.getStringExtra("packageName"); +// Log.e("fht", filePath); +// Log.e("fht", packageName); +// FileData fileData = new FileData(filePath, packageName); +// MyApplication.getInstance().addFileData(fileData); +// +// } catch (Exception e) { +// Log.e("fht", e.getMessage()); +// } bindService(new Intent(this, GuardService.class), mServiceConnection, Context.BIND_IMPORTANT); return START_STICKY; diff --git a/app/src/main/res/layout-port/activity_main.xml b/app/src/main/res/layout-port/activity_main.xml index 31c4f3b..05744ec 100644 --- a/app/src/main/res/layout-port/activity_main.xml +++ b/app/src/main/res/layout-port/activity_main.xml @@ -92,11 +92,12 @@ android:id="@+id/version" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginBottom="60dp" - android:text="版本:" + android:layout_marginTop="80dp" + android:text="版本:" android:textColor="#8c8b8b" - app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" /> + app:layout_constraintHorizontal_bias="0.498" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/linearLayout" /> \ No newline at end of file diff --git a/build.gradle b/build.gradle index 776c3a9..ea0ecc0 100644 --- a/build.gradle +++ b/build.gradle @@ -4,9 +4,7 @@ buildscript { repositories { google() - jcenter{ - url 'http://jcenter.bintray.com' - } + jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' @@ -20,9 +18,7 @@ buildscript { allprojects { repositories { google() - jcenter{ - url 'http://jcenter.bintray.com' - } + jcenter() } repositories { maven { url 'https://jitpack.io' } diff --git a/local.properties b/local.properties index 5dc6573..1e47749 100644 --- a/local.properties +++ b/local.properties @@ -4,5 +4,5 @@ # Location of the SDK. This is only used by Gradle. # For customization when using a Version Control System, please read the # header note. -#Thu Jun 13 17:48:17 CST 2019 -sdk.dir=C\:\\Users\\Administrator\\AppData\\Local\\Android\\Sdk +#Tue Feb 11 20:46:09 CST 2020 +sdk.dir=E\:\\1tHDD\\Other\\SDK