version:1.2
fix: update:快捷控制中心报错修复,完善闪光灯
This commit is contained in:
@@ -2,6 +2,7 @@ package com.uiuios.aios.manager;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.baidu.location.BDAbstractLocationListener;
|
||||
@@ -11,6 +12,7 @@ import com.baidu.location.LocationClientOption;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.uiuios.aios.disklrucache.CacheHelper;
|
||||
import com.uiuios.aios.utils.GsonUtils;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
@@ -24,7 +26,7 @@ public class AmapManager {
|
||||
private LocationClient mLocationClient = null;
|
||||
private LocationClientOption mOption;
|
||||
private BDLocation mLocation;
|
||||
private MMKV mMMKV = MMKV.defaultMMKV();
|
||||
private CacheHelper mCacheHelper;
|
||||
|
||||
private static final String AMAPLOCATION_JSON_KEY = "MAPLOCATION_JSON_STRING";
|
||||
public static final String LONGITUDE_KEY = "map_longitude_key";
|
||||
@@ -34,6 +36,7 @@ public class AmapManager {
|
||||
|
||||
private AmapManager(Context context) {
|
||||
this.mContext = context;
|
||||
this.mCacheHelper = new CacheHelper(context);
|
||||
initAmap();
|
||||
}
|
||||
|
||||
@@ -71,7 +74,10 @@ public class AmapManager {
|
||||
|
||||
public BDLocation getNowMapLocation() {
|
||||
if (mLocation == null) {
|
||||
String aMapLocationjson = mMMKV.decodeString(AMAPLOCATION_JSON_KEY, "");
|
||||
String aMapLocationjson = mCacheHelper.getAsString(AMAPLOCATION_JSON_KEY);
|
||||
if (TextUtils.isEmpty(aMapLocationjson)) {
|
||||
return null;
|
||||
}
|
||||
Type type = new TypeToken<BDLocation>() {
|
||||
}.getType();
|
||||
try {
|
||||
@@ -141,27 +147,27 @@ public class AmapManager {
|
||||
case BDLocation.TypeGpsLocation:// GPS定位结果
|
||||
case BDLocation.TypeNetWorkLocation:// 网络定位结果
|
||||
case BDLocation.TypeOffLineLocation:// 离线定位结果
|
||||
mMMKV.encode(AMAPLOCATION_JSON_KEY, GsonUtils.toJsonString(location));
|
||||
mCacheHelper.put(AMAPLOCATION_JSON_KEY, GsonUtils.toJsonString(location));
|
||||
Log.e(TAG, "onLocationChanged: " + "定位成功");
|
||||
Log.e(TAG, "onLocationChanged: longitude = " + location.getLongitude());
|
||||
Log.e(TAG, "onLocationChanged: latitude = " + location.getLatitude());
|
||||
Log.e(TAG, "onLocationChanged: " + location.getAddrStr() + location.getLocationDescribe());
|
||||
mMMKV.encode(ADDRESS_KEY, location.getAddrStr() + location.getLocationDescribe());
|
||||
mMMKV.encode(LONGITUDE_KEY, location.getLongitude());
|
||||
mMMKV.encode(LATITUDE_KEY, location.getLatitude());
|
||||
mMMKV.encode(ERROR_KEY, "-");
|
||||
mCacheHelper.put(ADDRESS_KEY, location.getAddrStr() + location.getLocationDescribe());
|
||||
mCacheHelper.put(LONGITUDE_KEY, location.getLongitude());
|
||||
mCacheHelper.put(LATITUDE_KEY, location.getLatitude());
|
||||
mCacheHelper.put(ERROR_KEY, "-");
|
||||
break;
|
||||
case BDLocation.TypeServerError:
|
||||
Log.e(TAG, "onReceiveLocation: " + "服务端网络定位失败");
|
||||
mMMKV.encode(ERROR_KEY, "服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com,会有人追查原因");
|
||||
mCacheHelper.put(ERROR_KEY, "服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com,会有人追查原因");
|
||||
break;
|
||||
case BDLocation.TypeNetWorkException:
|
||||
Log.e(TAG, "onReceiveLocation: " + "网络不同导致定位失败,请检查网络是否通畅");
|
||||
mMMKV.encode(ERROR_KEY, "网络不同导致定位失败,请检查网络是否通畅");
|
||||
mCacheHelper.put(ERROR_KEY, "网络不同导致定位失败,请检查网络是否通畅");
|
||||
break;
|
||||
case BDLocation.TypeCriteriaException:
|
||||
Log.e(TAG, "onReceiveLocation: " + "无法获取有效定位依据导致定位失败");
|
||||
mMMKV.encode(ERROR_KEY, "无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
|
||||
mCacheHelper.put(ERROR_KEY, "无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
|
||||
break;
|
||||
default:
|
||||
}
|
||||
@@ -273,8 +279,8 @@ public class AmapManager {
|
||||
//// logMsg(sb.toString(), tag);
|
||||
// Log.e(TAG, "onReceiveLocation: " + sb);
|
||||
// }
|
||||
Log.e(TAG, "AmapAddress: " + mMMKV.decodeString(ADDRESS_KEY, "-"));
|
||||
Log.e(TAG, "AmapError: " + mMMKV.decodeString(ERROR_KEY, "-"));
|
||||
Log.e(TAG, "AmapAddress: " + mCacheHelper.getAsString(ADDRESS_KEY));
|
||||
Log.e(TAG, "AmapError: " + mCacheHelper.getAsString(ERROR_KEY));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -331,7 +337,7 @@ public class AmapManager {
|
||||
}
|
||||
}
|
||||
Log.e(TAG, "onLocationChanged: " + "定位失败");
|
||||
mMMKV.encode(ERROR_KEY, sb.toString());
|
||||
mCacheHelper.put(ERROR_KEY, sb.toString());
|
||||
Log.e(TAG, "onLocDiagnosticMessage: " + sb);
|
||||
// logMsg(sb.toString(), tag);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user