diff --git a/.idea/markdown-exported-files.xml b/.idea/markdown-exported-files.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5d1f1293cf7e21f16a64a07a50fe52c261269055
--- /dev/null
+++ b/.idea/markdown-exported-files.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml
new file mode 100644
index 0000000000000000000000000000000000000000..808794e4fbb5b875374a5641a8b4dc02754b0295
--- /dev/null
+++ b/.idea/markdown-navigator.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/yesway/android/util/MultiMediaUtil.java b/app/src/main/java/com/yesway/android/util/MultiMediaUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..d8a1232af3f4a92846b28e0690421c2009e8a330
--- /dev/null
+++ b/app/src/main/java/com/yesway/android/util/MultiMediaUtil.java
@@ -0,0 +1,194 @@
+package com.zhijiaxing.travel.util;
+
+import android.Manifest;
+import android.app.Activity;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Environment;
+import android.provider.MediaStore;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentActivity;
+
+import com.tbruyelle.rxpermissions2.RxPermissions;
+
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import io.reactivex.functions.Consumer;
+import me.nereo.multi_image_selector.MultiImageSelector;
+
+/**
+ * Description:
多媒体工具类
+ *
+ * - 1.图片选择器,可算多张图片
+ * - 2.拍照
+ * - 3.拍视频
+ * - 4.创建一个图片路径
+ * - 5.创建一个视频路径
+ *
+ * 注意事项:
+ * - 1. 拍照、拍视频、选择图片完成的回调都在onActivityResult中回调的
+ *
- 2.选择图片获取:List path = data.getStringArrayListExtra(MultiImageSelectorActivity.EXTRA_RESULT)
+ *
+ * Author: gxl
+ * Date: 2018/12/25
+ * Version: V1.0.0
+ * Update:
+ */
+public class MultiMediaUtil {
+ public static final int SELECT_IMAGE = 1001;
+ public static final int TAKE_PHONE = 1002;
+ public static final int TAKE_VIDEO = 1003;
+
+ /**
+ *
+ * 打开图片选择器,选择图片
+ * 来获取图片
+ * @param activity
+ * @param count:选择图片个数
+ * @param requestcode
+ */
+ public static void pohotoSelect(Activity activity, int count, int requestcode) {
+ pohotoSelect(activity, null, count, requestcode);
+ }
+
+ public static void pohotoSelect(Fragment fragment, int count, int requestcode) {
+ pohotoSelect(null, fragment, count, requestcode);
+ }
+
+ private static void pohotoSelect(Activity activity, Fragment fragment, int count, int requestcode) {
+ if (activity != null) {
+ MultiImageSelector.create().showCamera(false).count(count).single().multi()
+ //.origin(ArrayList)
+ .start(activity, requestcode);
+ } else if (fragment != null) {
+ MultiImageSelector.create().showCamera(false).count(count).single().multi()
+ //.origin(ArrayList)
+ .start(fragment, requestcode);
+ }
+
+ }
+
+ /**
+ * 拍照
+ * @param activity
+ * @param path:照片存放的路径
+ * @param requestcode
+ */
+ public static void takePhoto(FragmentActivity activity, String path, int requestcode) {
+ takePhoto(activity, null, path, requestcode);
+ }
+
+ public static void takePhoto(Fragment fragment, String path, int requestcode) {
+ takePhoto(null, fragment, path, requestcode);
+ }
+
+ private static void takePhoto(final FragmentActivity activity, final Fragment fragment, final String path, final int requestcode) {
+ if (activity == null && fragment == null) {
+ return;
+ }
+ RxPermissions rxPermissions = null;
+ if (activity != null) {
+ rxPermissions = new RxPermissions(activity);
+ } else if (fragment != null) {
+ rxPermissions = new RxPermissions(fragment);
+ }
+
+ rxPermissions.request(Manifest.permission.CAMERA).subscribe(new Consumer() {
+ @Override
+ public void accept(Boolean aBoolean) throws Exception {
+ if (aBoolean) {
+ File file = new File(path);
+ try {
+ if (file.createNewFile()) {
+ Intent intent = new Intent();
+ intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
+ intent.addCategory(Intent.CATEGORY_DEFAULT);
+ intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
+
+ if (activity != null) {
+ activity.startActivityForResult(intent, requestcode);
+ } else if (fragment != null) {
+ fragment.startActivityForResult(intent, requestcode);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ ToastUtil.showToast("无法启动拍照程序");
+ }
+ } else {
+ ToastUtil.showToast("无摄像头权限,无法进行拍照!");
+ }
+ }
+ });
+ }
+
+
+ /**
+ * 拍视频
+ * @param activity
+ * @param path:视频存放的路径
+ * @param requestcode
+ */
+ public static void takeVideo(final FragmentActivity activity, final String path, final int requestcode) {
+ takeVideo(activity, null, path, requestcode);
+ }
+
+ public static void takeVideo(final Fragment fragment, final String path, final int requestcode) {
+ takeVideo(null, fragment, path, requestcode);
+ }
+
+ private static void takeVideo(final FragmentActivity activity, final Fragment fragment, final String path, final int requestcode) {
+ if (activity == null && fragment == null) {
+ return;
+ }
+ RxPermissions rxPermissions = null;
+ if (activity != null) {
+ rxPermissions = new RxPermissions(activity);
+ } else if (fragment != null) {
+ rxPermissions = new RxPermissions(fragment);
+ }
+ rxPermissions.request(Manifest.permission.CAMERA).subscribe(new Consumer() {
+ @Override
+ public void accept(Boolean aBoolean) throws Exception {
+ if (aBoolean) {
+ File file = new File(path);
+ try {
+ if (file.createNewFile()) {
+ Intent intent = new Intent();
+ intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
+ intent.addCategory(Intent.CATEGORY_DEFAULT);
+ intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
+ if (activity != null) {
+ activity.startActivityForResult(intent, requestcode);
+ } else if (fragment != null) {
+ fragment.startActivityForResult(intent, requestcode);
+ }
+
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ ToastUtil.showToast("无法启动拍视频程序");
+ }
+ } else {
+ ToastUtil.showToast("无摄像头权限,无法进行拍视频!");
+ }
+ }
+ });
+ }
+
+ //获取图片路径
+ public static String getPhotoPath(Activity activity) {
+ String filename = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()) + ".jpg";
+ String filepath = activity.getExternalFilesDir(Environment.DIRECTORY_PICTURES).getAbsolutePath() + File.separator + filename;
+ return filepath;
+ }
+
+ //获取视频的路径
+ public static String getVideoPath(Activity activity) {
+ String filename = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()) + ".3gp";
+ String filepath = activity.getExternalFilesDir(Environment.DIRECTORY_MOVIES).getAbsolutePath() + File.separator + filename;
+ return filepath;
+ }
+}