Sfoglia il codice sorgente

location permission

billyyoyo 5 anni fa
parent
commit
124e08bf11

+ 5 - 0
app/src/main/java/com/kfzs/duanduan/utils/NumberFormatUtils.java

@@ -113,6 +113,11 @@ public class NumberFormatUtils {
         return df.format(bonus);
     }
 
+    public static String retainMost6(double bonus) {
+        DecimalFormat df = new DecimalFormat("#.######");
+        return df.format(bonus);
+    }
+
     /**
      * 最多保留两位小数(折算:亿、百万、万等)
      *

+ 17 - 7
app/src/main/java/com/sheep/gamegroup/util/LocationUtils.java

@@ -5,6 +5,7 @@ import android.location.Location;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baidu.location.BDLocation;
+import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 
 /**
@@ -15,8 +16,8 @@ public class LocationUtils {
 
     private static LocationUtils locationUtils;
 
-    public static LocationUtils getInstance(){
-        if(locationUtils == null){
+    public static LocationUtils getInstance() {
+        if (locationUtils == null) {
             locationUtils = new LocationUtils();
         }
         return locationUtils;
@@ -27,19 +28,28 @@ public class LocationUtils {
      * Latitude:纬度
      * 获取经纬度
      */
-    public String getLongitudeLatitude(){
+    public String getLongitudeLatitude() {
         BDLocation location = SheepApp.getInstance().getCurLocation();
-        if(location == null)
+        if (location == null)
             return "";
-        return location.getLongitude() + "," +location.getLatitude();
+        return location.getLongitude() + "," + location.getLatitude();
     }
+
+    public String getGeocode() {
+        BDLocation location = SheepApp.getInstance().getCurLocation();
+        if (location == null)
+            return "";
+        return NumberFormatUtils.retainMost6(location.getLatitude()) + "," + NumberFormatUtils.retainMost6(location.getLongitude());
+    }
+
+
     /**
      * 获取定位
      */
-    public JSONObject getLocationJSONObject(){
+    public JSONObject getLocationJSONObject() {
         BDLocation location = SheepApp.getInstance().getCurLocation();
         JSONObject jsonObject = new JSONObject();
-        if(location != null) {
+        if (location != null) {
             jsonObject.put("longitude", location.getLongitude());
             jsonObject.put("latitude", location.getLatitude());
             jsonObject.put("addrStr", location.getAddrStr());

+ 6 - 0
app/src/main/java/com/sheep/gamegroup/util/js/KFZSJs.java

@@ -48,6 +48,7 @@ import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.DeviceUtil;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.LocationUtils;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.MainTab;
 import com.sheep.gamegroup.util.QQUtil;
@@ -1055,4 +1056,9 @@ public class KFZSJs {
         activity.finish();
     }
 
+    @JavascriptInterface
+    public String getLocationGeocode(){
+        return LocationUtils.getInstance().getGeocode();
+    }
+
 }

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -328,9 +328,9 @@ public class SplashAct extends BaseActivity {
         List<String> permissions = new ArrayList<String>();
         boolean result = true;
         if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
-                || ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
+                || ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
             permissions.add(Manifest.permission.READ_EXTERNAL_STORAGE);
-            permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
+            permissions.add(Manifest.permission.ACCESS_COARSE_LOCATION);
             result = false;
         }
         if (permissions.size() > 0) {