version:
update:2020.09.22 fix:修复强制安装应用为空时缓存了上次的管控信息 add:
This commit is contained in:
@@ -22,6 +22,10 @@ import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.amap.api.location.AMapLocation;
|
||||
import com.amap.api.location.AMapLocationClient;
|
||||
import com.amap.api.location.AMapLocationClientOption;
|
||||
import com.amap.api.location.AMapLocationListener;
|
||||
import com.arialyy.aria.core.Aria;
|
||||
import com.arialyy.aria.core.download.DownloadEntity;
|
||||
import com.blankj.utilcode.util.LogUtils;
|
||||
@@ -48,6 +52,7 @@ import com.mjsheng.myappstore.server.MyDownloadService;
|
||||
import com.mjsheng.myappstore.server.StepService;
|
||||
import com.mjsheng.myappstore.utils.Configure;
|
||||
import com.mjsheng.myappstore.utils.MySQLData;
|
||||
import com.mjsheng.myappstore.utils.SPUtils;
|
||||
import com.mjsheng.myappstore.utils.ToastUtil;
|
||||
import com.mjsheng.myappstore.utils.Utils;
|
||||
import com.mjsheng.myappstore.utils.update.ToastTool;
|
||||
@@ -108,6 +113,8 @@ public class MyApplication extends MultiDexApplication {
|
||||
private SimpleDateFormat mDateFormat = null;
|
||||
private static List<Activity> activityList = new LinkedList();
|
||||
private Handler mHandler;
|
||||
private static AMapLocationClient locationClient = null;
|
||||
|
||||
|
||||
public static Context getAppContext() {
|
||||
return context;
|
||||
@@ -184,12 +191,57 @@ public class MyApplication extends MultiDexApplication {
|
||||
//// e.printStackTrace();
|
||||
// Log.e("第一个是Logcat", e.getMessage());
|
||||
// }
|
||||
initAmap();
|
||||
}
|
||||
|
||||
public static AMapLocationClient getLocationClient() {
|
||||
if (null == locationClient) {
|
||||
initAmap();
|
||||
}
|
||||
return locationClient;
|
||||
}
|
||||
|
||||
private static void initAmap() {
|
||||
locationClient = new AMapLocationClient(context);
|
||||
AMapLocationClientOption option = new AMapLocationClientOption();
|
||||
option.setLocationPurpose(AMapLocationClientOption.AMapLocationPurpose.SignIn);
|
||||
option.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
|
||||
option.setNeedAddress(true);
|
||||
//获取一次定位结果:
|
||||
//该方法默认为false。
|
||||
option.setOnceLocation(true);
|
||||
//获取最近3s内精度最高的一次定位结果:
|
||||
//设置setOnceLocationLatest(boolean b)接口为true,启动定位时SDK会返回最近3s内精度最高的一次定位结果。
|
||||
// 如果设置其为true,setOnceLocation(boolean b)接口也会被设置为true,反之不会,默认为false。
|
||||
option.setOnceLocationLatest(true);
|
||||
locationClient.setLocationOption(option);
|
||||
//设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。
|
||||
//设置定位监听
|
||||
locationClient.setLocationListener(new AMapLocationListener() {
|
||||
@Override
|
||||
public void onLocationChanged(AMapLocation aMapLocation) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
//errCode等于0代表定位成功,其他的为定位失败,具体的可以参照官网定位错误码说明
|
||||
if (aMapLocation.getErrorCode() == 0) {
|
||||
sb.append(aMapLocation.getAddress() + "\n");
|
||||
SPUtils.put(context, "AmapAddress", aMapLocation.getAddress());
|
||||
} else {
|
||||
//定位失败
|
||||
sb.append("定位失败" + "\n");
|
||||
SPUtils.put(context, "AmapError", aMapLocation.getErrorInfo());
|
||||
}
|
||||
Log.e("addr", sb.toString());
|
||||
}
|
||||
});
|
||||
//设置场景模式后最好调用一次stop,再调用start以保证场景模式生效
|
||||
locationClient.stopLocation();
|
||||
locationClient.startLocation();
|
||||
}
|
||||
|
||||
//第一个是Logcat ,也就是我们想要获取的log日志
|
||||
//第二个是 -s 也就是表示过滤的意思
|
||||
//第三个就是 我们要过滤的类型 W表示warm ,我们也可以换成 D :debug, I:info,E:error等等
|
||||
// String[] running = new String[]{"logcat", "-s", "adb logcat *: W"};
|
||||
//第二个是 -s 也就是表示过滤的意思
|
||||
//第三个就是 我们要过滤的类型 W表示warm ,我们也可以换成 D :debug, I:info,E:error等等
|
||||
// String[] running = new String[]{"logcat", "-s", "adb logcat *: W"};
|
||||
String[] running = new String[]{"logcat"};
|
||||
String filePath = "/sdcard/Log/Log.txt";
|
||||
|
||||
@@ -338,6 +390,7 @@ public class MyApplication extends MultiDexApplication {
|
||||
Intent intent1 = new Intent(BootReceiver.BOOT_COMPLETED);
|
||||
intent1.setComponent(new ComponentName("com.jiaoguanyi.store", "com.mjsheng.myappstore.receiver.BootReceiver"));
|
||||
sendBroadcast(intent1);
|
||||
deleteScreenshots();
|
||||
}
|
||||
}
|
||||
time3 = System.currentTimeMillis();
|
||||
@@ -357,6 +410,19 @@ public class MyApplication extends MultiDexApplication {
|
||||
|
||||
}
|
||||
|
||||
private void deleteScreenshots() {
|
||||
Log.e("File", "deleteScreenshots");
|
||||
String path = getExternalFilesDir("db").getAbsolutePath();
|
||||
File file = new File(path);
|
||||
File[] files = file.listFiles();
|
||||
for (File f : files) {
|
||||
if (f.isFile()) {
|
||||
Log.e("File", f.getAbsolutePath());
|
||||
f.delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void getLockState(String status, String time) {
|
||||
GetLockState getLockState = Network.getLockState();
|
||||
getLockState.getLockState(Utils.getSerial(), status, time)
|
||||
@@ -897,4 +963,12 @@ public class MyApplication extends MultiDexApplication {
|
||||
Log.e("MyApplication", "isDownloading=" + MyApplication.getInstance().isDownloading());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTerminate() {
|
||||
super.onTerminate();
|
||||
//销毁时,需要销毁定位client
|
||||
if (null != locationClient) {
|
||||
locationClient.onDestroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user