diff --git a/app/build.gradle b/app/build.gradle
index 43917f5..a78f9ee 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion '29.0.2'
- ndkVersion '23.0.7123448'
+ // ndkVersion '23.0.7123448'
defaultConfig {
applicationId "com.navinfo.outdoor"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2322cb3..ddd9136 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -87,6 +87,16 @@
android:screenOrientation="portrait"/>
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java b/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java
index 6097433..837b30a 100644
--- a/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java
+++ b/app/src/main/java/com/navinfo/outdoor/activity/PictureActivity.java
@@ -237,7 +237,8 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
for (int i = 0; i < lineStringByVideoFileList.size(); i++) {
LatLng latLng = lineStringByVideoFileList.get(i);
if (latLng!=null){
- Marker marker = tencentMap.addMarker(new MarkerOptions(latLng).alpha(0.9f)
+ BitmapDescriptor pileDescriptor = BitmapDescriptorFactory.fromResource(ic_baseline);
+ Marker marker = tencentMap.addMarker(new MarkerOptions(latLng).icon(pileDescriptor).alpha(0.9f)
.flat(true)
.clockwise(false));
removables.add(marker);
@@ -628,7 +629,8 @@ public class PictureActivity extends BaseActivity implements View.OnClickListene
}
sb.append("\r\n");
LatLng latLng = new LatLng(Constant.currentLocation.getLatitude(), Constant.currentLocation.getLongitude());
- Marker marker = tencentMap.addMarker(new MarkerOptions(latLng).alpha(0.9f)
+ BitmapDescriptor pileDescriptor = BitmapDescriptorFactory.fromResource(ic_baseline);
+ Marker marker = tencentMap.addMarker(new MarkerOptions(latLng).icon(pileDescriptor).alpha(0.9f)
.flat(true)
.clockwise(false));
removables.add(marker);
diff --git a/app/src/main/java/com/navinfo/outdoor/api/UserApplication.java b/app/src/main/java/com/navinfo/outdoor/api/UserApplication.java
index 25855c4..e4e9937 100644
--- a/app/src/main/java/com/navinfo/outdoor/api/UserApplication.java
+++ b/app/src/main/java/com/navinfo/outdoor/api/UserApplication.java
@@ -1,6 +1,7 @@
package com.navinfo.outdoor.api;
import android.app.Application;
+import android.os.StrictMode;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.cache.CacheEntity;
@@ -95,6 +96,10 @@ public class UserApplication extends Application {
//全局统一超时重连次数,默认为三次,那么最差的情况会请求4次(一次原始请求,三次重连请求),不需要可以设置为0;
.setRetryCount(0);
+ StrictMode.VmPolicy.Builder picBuilder = new StrictMode.VmPolicy.Builder();
+ StrictMode.setVmPolicy(picBuilder.build());
+ picBuilder.detectFileUriExposure();
+
}
}
diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java
index 57958ba..143255e 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java
@@ -91,11 +91,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
private RelativeLayout rlPanorama, rlName, rlInternalPhotos, rlElse, rlScutcheon, rlNull;
private ImageView ivPanorama, ivName, ivInternal, ivElse, ivScutcheon;
private TextView tvExamine;
- private TextView tvPanorama;
- private TextView tvName;
- private TextView tvInternal;
- private TextView tvElse;
- private TextView tvScutcheon;
+ private TextView tvPanorama, tvName, tvInternal, tvElse, tvScutcheon;
private EditText editNameContent, editSiteContent;
private ArrayList poiBeans;
private Button btnSaveLocal;
@@ -745,7 +741,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View.
} else {
chargingStationList.add(new File(tagInternal));
}
- String tagElse = (String) ivElse.getTag();
+ String tagElse = (String) tvElse.getTag();
if (tagElse == null) {
Toast.makeText(getContext(), "请拍照", Toast.LENGTH_SHORT).show();
return;
diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java
index 172c39a..6a84c65 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java
@@ -4,8 +4,10 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.Color;
+import android.net.Uri;
import android.os.Bundle;
import android.os.Message;
+import android.provider.MediaStore;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -83,6 +85,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
private EditText editDescribe;
private RelativeLayout rlPanorama, rlName, rlInternalPhotos, rlCard, rlElse;
private ImageView ivPanorama, ivName, ivInternal, ivCard, ivElse;
+ private TextView tvPanorama, tvName, tvInternal, tvCard, tvElse;
public TextView tvExamine;
private EditText editNameContent, editSiteContent;
private ArrayList poiBeans;
@@ -200,11 +203,18 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
tvExamine.setOnClickListener(this::onClick);
editDescribe = findViewById(R.id.edit_describe);
ivPanorama = findViewById(R.id.iv_panorama);
+ tvPanorama = findViewById(R.id.tv_panorama);
ivName = findViewById(R.id.iv_name);
+ tvName = findViewById(R.id.tv_name);
ivInternal = findViewById(R.id.iv_internal);
- linearContact = findViewById(R.id.linear_contact);
+ tvInternal = findViewById(R.id.tv_internal);
+
ivCard = findViewById(R.id.iv_card);
+ tvCard = findViewById(R.id.tv_card);
+
ivElse = findViewById(R.id.iv_else);
+ tvElse = findViewById(R.id.tv_else);
+ linearContact = findViewById(R.id.linear_contact);
rlPanorama = findViewById(R.id.rl_panorama);
rlPanorama.setOnClickListener(this::onClick);
rlName = findViewById(R.id.rl_name);
@@ -518,7 +528,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
break;
case R.id.btn_uploading:
poiPicList = new ArrayList<>();
- String tagPanorama = (String) ivPanorama.getTag();
+
String name = editNameContent.getText().toString().trim();//名称
if (name == null || name.equals("")) {
Toast.makeText(getActivity(), "请输入poi 名称", Toast.LENGTH_SHORT).show();
@@ -528,13 +538,14 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
Toast.makeText(getActivity(), "请确定点位", Toast.LENGTH_SHORT).show();
return;
}
+ String tagPanorama = (String) tvPanorama.getTag();
if (tagPanorama == null) {
Toast.makeText(getActivity(), "请拍照", Toast.LENGTH_SHORT).show();
return;
} else {
poiPicList.add(new File(tagPanorama));
}
- String tagName = (String) ivName.getTag();
+ String tagName = (String)tvName.getTag();
if (tagName == null) {
Toast.makeText(getActivity(), "请拍照", Toast.LENGTH_SHORT).show();
return;
@@ -542,15 +553,15 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
poiPicList.add(new File(tagName));
}
- String tagInternal = (String) ivInternal.getTag();
+ String tagInternal = (String) tvInternal.getTag();
if (tagInternal != null) {
poiPicList.add(new File(tagInternal));
}
- String tagElse = (String) ivElse.getTag();
+ String tagElse = (String) tvElse.getTag();
if (tagElse != null) {
poiPicList.add(new File(tagElse));
}
- String tagCard = (String) ivCard.getTag();
+ String tagCard = (String) tvCard.getTag();
if (tagCard != null) {
poiPicList.add(new File(tagCard));
}
@@ -577,6 +588,8 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
break;
case R.id.rl_panorama:
Intent intentPanorama = new Intent("android.media.action.IMAGE_CAPTURE");
+ File file = new File(Constant.PICTURE_FOLDER+"/aaaaaa.jpg");
+ intentPanorama.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
startActivityForResult(intentPanorama, 101);
break;
case R.id.rl_name:
@@ -809,7 +822,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
Bundle extras = data.getExtras();//从Intent中获取附加值
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
String takePhotoPath1 = PhotoPathUtil.getTakePhotoPath(data, "a", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
- ivPanorama.setTag(takePhotoPath1);
+ tvPanorama.setTag(takePhotoPath1);
ivPanorama.setImageBitmap(bitmap);//显示图像
/* int height = bitmap.getHeight();
int width = bitmap.getWidth();
@@ -830,7 +843,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
Bundle extras = data.getExtras();//从Intent中获取附加值
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
String takePhotoPath2 = PhotoPathUtil.getTakePhotoPath(data, "b", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
- ivName.setTag(takePhotoPath2);
+ tvName.setTag(takePhotoPath2);
ivName.setImageBitmap(bitmap);//显示图像
/* int height = bitmap.getHeight();
int width = bitmap.getWidth();
@@ -851,7 +864,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
Bundle extras = data.getExtras();//从Intent中获取附加值
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
String takePhotoPath3 = PhotoPathUtil.getTakePhotoPath(data, "c", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
- ivInternal.setTag(takePhotoPath3);
+ tvInternal.setTag(takePhotoPath3);
ivInternal.setImageBitmap(bitmap);//显示图像
/*int height = bitmap.getHeight();
int width = bitmap.getWidth();
@@ -872,7 +885,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
Bundle extras = data.getExtras();//从Intent中获取附加值
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
String takePhotoPath4 = PhotoPathUtil.getTakePhotoPath(data, "d", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
- ivCard.setTag(takePhotoPath4);
+ tvCard.setTag(takePhotoPath4);
ivCard.setImageBitmap(bitmap);//显示图像
/* int height = bitmap.getHeight();
int width = bitmap.getWidth();
@@ -893,7 +906,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
Bundle extras = data.getExtras();//从Intent中获取附加值
Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像
String takePhotoPath5 = PhotoPathUtil.getTakePhotoPath(data, "e", Geohash.getInstance().encode(latLng.latitude, latLng.longitude));
- ivElse.setTag(takePhotoPath5);
+ tvElse.setTag(takePhotoPath5);
ivElse.setImageBitmap(bitmap);//显示图像
/* int height = bitmap.getHeight();
int width = bitmap.getWidth();
@@ -963,24 +976,25 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
if (phoneBean) {
String list = contactView.getList();
poiEntity.setTelPhone(list);
+
}
- String tagPanorama = (String) ivPanorama.getTag();
+ String tagPanorama = (String) tvPanorama.getTag();
if (tagPanorama != null && !tagPanorama.equals("")) {
infoPhoto.add(new Info(tagPanorama));
}
- String tagName = (String) ivName.getTag();
+ String tagName = (String) tvName.getTag();
if (tagName != null && !tagName.equals("")) {
infoPhoto.add(new Info(tagName));
}
- String tagInternal = (String) ivInternal.getTag();
+ String tagInternal = (String) tvInternal.getTag();
if (tagInternal != null && !tagInternal.equals("")) {
infoPhoto.add(new Info(tagInternal));
}
- String tagElse = (String) ivElse.getTag();
+ String tagElse = (String) tvElse.getTag();
if (tagElse != null && !tagElse.equals("")) {
infoPhoto.add(new Info(tagElse));
}
- String tagCard = (String) ivCard.getTag();
+ String tagCard = (String) tvCard.getTag();
if (tagCard != null && !tagCard.equals("")) {
infoPhoto.add(new Info(tagCard));
}
@@ -1005,12 +1019,12 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe
poiCheckResult.setMsg("请输入 名称");
return poiCheckResult;
}
- if (ivPanorama.getTag()==null){
+ if (tvPanorama.getTag()==null){
poiCheckResult.setCode(1);
poiCheckResult.setMsg("请 拍照");
return poiCheckResult;
}
- if (ivName.getTag()==null){
+ if (tvName.getTag()==null){
poiCheckResult.setCode(1);
poiCheckResult.setMsg("请 拍照");
return poiCheckResult;
diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java
index 1df630a..a319386 100644
--- a/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java
+++ b/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java
@@ -987,6 +987,8 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen
break;
}
frameLayout.setVisibility(View.GONE);
+ initThread();
+ initList(Constant.currentLocation);
if (gatherGetFragment != null) {
fragmentTransaction.remove(gatherGetFragment);
}
diff --git a/app/src/main/java/com/navinfo/outdoor/util/PhotoPathUtil.java b/app/src/main/java/com/navinfo/outdoor/util/PhotoPathUtil.java
index ffa76c5..ac29674 100644
--- a/app/src/main/java/com/navinfo/outdoor/util/PhotoPathUtil.java
+++ b/app/src/main/java/com/navinfo/outdoor/util/PhotoPathUtil.java
@@ -54,7 +54,7 @@ public class PhotoPathUtil {
if (angle==0){
angle=90;
}
- File file = new File(Constant.PICTURE_FOLDER, d+time+"_p"+coord+"_a"+angle+".jpg");
+ File file = new File(Constant.PICTURE_FOLDER+d+time+"_p"+coord+"_a"+angle+".jpg");
/***打开文件输出流*/
fileOutputStream = new FileOutputStream(file);
// 生成图片文件
diff --git a/app/src/main/java/com/navinfo/outdoor/util/PhotoUtils.java b/app/src/main/java/com/navinfo/outdoor/util/PhotoUtils.java
new file mode 100644
index 0000000..ed7ae9b
--- /dev/null
+++ b/app/src/main/java/com/navinfo/outdoor/util/PhotoUtils.java
@@ -0,0 +1,58 @@
+package com.navinfo.outdoor.util;
+
+import android.content.Intent;
+import android.util.Log;
+import android.widget.ImageView;
+
+import androidx.exifinterface.media.ExifInterface;
+
+import com.navinfo.outdoor.api.Constant;
+
+import java.io.File;
+import java.io.IOException;
+
+import static org.greenrobot.eventbus.EventBus.TAG;
+
+public class PhotoUtils {
+ public static String showPhotoAndGetPath(File file, ImageView imageView) {
+ return null;
+ }
+ public static File showPhotoFile(String d,String lat) {
+ long time=System.currentTimeMillis();
+ File file = new File(Constant.PICTURE_FOLDER, d+time+"_p"+lat+"_a"+0+".jpg");
+ return file;
+ }
+
+ /**
+ * 获取图片旋转角度
+ * @param filepath
+ * @return
+ */
+ public static int getExifOrientation(String filepath) {
+ int degree = 0;
+ ExifInterface exif = null;
+ try {
+ exif = new ExifInterface(filepath);
+ } catch (IOException ex) {
+ Log.d(TAG, "cannot read exif" + ex);
+ }
+ if (exif != null) {
+ int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, -1);
+ if (orientation != -1) {
+ switch(orientation) {
+ case ExifInterface.ORIENTATION_ROTATE_90:
+ degree = 90;
+ break;
+ case ExifInterface.ORIENTATION_ROTATE_180:
+ degree = 180;
+ break;
+ case ExifInterface.ORIENTATION_ROTATE_270:
+ degree = 270;
+ break;
+ }
+ }
+ }
+ return degree;
+ }
+
+}
diff --git a/app/src/main/res/drawable/ic_baseline.xml b/app/src/main/res/drawable/ic_baseline.xml
new file mode 100644
index 0000000..b7d587c
--- /dev/null
+++ b/app/src/main/res/drawable/ic_baseline.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/poi_fragment.xml b/app/src/main/res/layout/poi_fragment.xml
index 7bdbfaf..ab65c36 100644
--- a/app/src/main/res/layout/poi_fragment.xml
+++ b/app/src/main/res/layout/poi_fragment.xml
@@ -277,6 +277,7 @@
android:layout_height="20dp"
/>