Commit eec89ae2 by 罗翻

修改人脸识别存储图片的兼容性

parent 7983e9c4
...@@ -91,22 +91,36 @@ public class ConUtil { ...@@ -91,22 +91,36 @@ public class ConUtil {
// File mediaStorageDir = mContext.getExternalFilesDir(Constant.cacheImage); // File mediaStorageDir = mContext.getExternalFilesDir(Constant.cacheImage);
String jpgFileName = System.currentTimeMillis() + "" + new Random().nextInt(1000000) + "_" + key + ".jpg"; String jpgFileName = System.currentTimeMillis() + "" + new Random().nextInt(1000000) + "_" + key + ".jpg";
File file = new File(Environment.getExternalStorageDirectory() + "/dayu/", jpgFileName);
// if (!mediaStorageDir.exists()) { // if (!mediaStorageDir.exists()) {
// if (!mediaStorageDir.mkdirs()) { // if (!mediaStorageDir.mkdirs()) {
// return null; // return null;
// } // }
// } // }
boolean sdCardExist = Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
File file;
if (sdCardExist) {
file = new File(Environment.getExternalStorageDirectory() + "/dayu/");
if (!file.exists()) {
file.mkdirs();
}
file = new File(file, jpgFileName);
} else {
file = new File(mContext.getCacheDir() + "/dayu/");
if (!file.exists()) {
file.mkdirs();
}
file = new File(file, jpgFileName);
}
BufferedOutputStream bos = null; BufferedOutputStream bos = null;
FileOutputStream fos = null; FileOutputStream fos = null;
try { try {
fos = new FileOutputStream(file.getAbsolutePath()); fos = new FileOutputStream(file.getAbsolutePath());
bos = new BufferedOutputStream(fos); bos = new BufferedOutputStream(fos);
bos.write(data); bos.write(data);
return file; return file;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
......
...@@ -7,4 +7,5 @@ isMessageModule=true ...@@ -7,4 +7,5 @@ isMessageModule=true
isOrderModule=true isOrderModule=true
##maven依赖 ##maven依赖
mavenMode=false mavenMode=false
BASE_URL=http://47.94.101.239:3112 BASE_URL=http://47.94.101.239:3112
\ No newline at end of file Android.useDeprecatedNdk=true
\ No newline at end of file
...@@ -2,6 +2,8 @@ package com.dayu.order.presenter.orderdoing; ...@@ -2,6 +2,8 @@ package com.dayu.order.presenter.orderdoing;
import android.databinding.ObservableField; import android.databinding.ObservableField;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import com.dayu.common.BaseApplication; import com.dayu.common.BaseApplication;
import com.dayu.common.Constants; import com.dayu.common.Constants;
...@@ -15,8 +17,12 @@ import com.dayu.order.ui.activity.OrderLivenessActivity; ...@@ -15,8 +17,12 @@ import com.dayu.order.ui.activity.OrderLivenessActivity;
import com.dayu.order.ui.fragment.OrderThreeTabFragment; import com.dayu.order.ui.fragment.OrderThreeTabFragment;
import com.dayu.provider.event.RefreshTab; import com.dayu.provider.event.RefreshTab;
import com.dayu.utils.AppManager; import com.dayu.utils.AppManager;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager; import com.dayu.utils.UserManager;
import com.dayu.widgets.CustomDialog; import com.dayu.widgets.CustomDialog;
import com.megvii.idcardlib.util.ConUtil;
import com.megvii.licensemanager.Manager;
import com.megvii.livenessdetection.LivenessLicenseManager;
import com.umeng.analytics.MobclickAgent; import com.umeng.analytics.MobclickAgent;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
...@@ -36,11 +42,11 @@ import static com.dayu.utils.UIUtils.getString; ...@@ -36,11 +42,11 @@ import static com.dayu.utils.UIUtils.getString;
*/ */
public class OrderDoingPresenter extends orderDoingContract.Presenter { public class OrderDoingPresenter extends orderDoingContract.Presenter {
private ObservableField<Object> datas = new ObservableField<>(); private ObservableField<Object> datas = new ObservableField<>();
private static final int PAGE_INTO_LIVENESS = 100;
private int mUserId; private int mUserId;
private int mSiteId; private int mSiteId;
private int mState; private int mState;
private int mPage; private int mPage;
private Handler mHandler;
@Override @Override
public void onAttached() { public void onAttached() {
...@@ -117,9 +123,7 @@ public class OrderDoingPresenter extends orderDoingContract.Presenter { ...@@ -117,9 +123,7 @@ public class OrderDoingPresenter extends orderDoingContract.Presenter {
CustomDialog customDialog = new CustomDialog(AppManager.getInstance().currentActivity(), R.style.CustomDialog, "为了保证您的账号安全和用户安全,请您本人进行人脸识别操作", CustomDialog customDialog = new CustomDialog(AppManager.getInstance().currentActivity(), R.style.CustomDialog, "为了保证您的账号安全和用户安全,请您本人进行人脸识别操作",
(dialog, confirm) -> { (dialog, confirm) -> {
if (confirm) { if (confirm) {
Bundle bundle = new Bundle(); checkCachedLicense(order);
bundle.putSerializable(OrderConstant.ORDERS,order);
mView.startActivity(OrderLivenessActivity.class, bundle);
} }
}); });
customDialog.setTitle("人脸识别") customDialog.setTitle("人脸识别")
...@@ -136,4 +140,28 @@ public class OrderDoingPresenter extends orderDoingContract.Presenter { ...@@ -136,4 +140,28 @@ public class OrderDoingPresenter extends orderDoingContract.Presenter {
mView.startActivity(OrderDetailsActivity.class, bundle); mView.startActivity(OrderDetailsActivity.class, bundle);
MobclickAgent.onEvent(BaseApplication.getContext(), "check_order_detail"); MobclickAgent.onEvent(BaseApplication.getContext(), "check_order_detail");
} }
public void checkCachedLicense(Order order) {
String uuid = ConUtil.getUUIDString(BaseApplication.getContext());
new Thread(() -> {
Manager manager = new Manager(BaseApplication.getContext());
LivenessLicenseManager licenseManager = new LivenessLicenseManager(BaseApplication.getContext());
manager.registerLicenseManager(licenseManager);
manager.takeLicenseFromNetwork(uuid);
if (licenseManager.checkCachedLicense() < 0) {
mHandler = new Handler(Looper.getMainLooper());
mHandler.post(() -> ToastUtils.showShortToast(getString(com.dayu.order.R.string.accredit_error)));
} else {
Bundle bundle = new Bundle();
bundle.putSerializable(OrderConstant.ORDERS, order);
mView.startActivity(OrderLivenessActivity.class, bundle);
}
}).start();
}
@Override
public void onDetached() {
super.onDetached();
mHandler = null;
}
} }
...@@ -32,7 +32,6 @@ import com.megvii.idcardlib.util.IMediaPlayer; ...@@ -32,7 +32,6 @@ import com.megvii.idcardlib.util.IMediaPlayer;
import com.megvii.idcardlib.util.Screen; import com.megvii.idcardlib.util.Screen;
import com.megvii.idcardlib.util.SensorUtil; import com.megvii.idcardlib.util.SensorUtil;
import com.megvii.idcardlib.view.CircleProgressBar; import com.megvii.idcardlib.view.CircleProgressBar;
import com.megvii.licensemanager.Manager;
import com.megvii.livenessdetection.DetectionConfig; import com.megvii.livenessdetection.DetectionConfig;
import com.megvii.livenessdetection.DetectionFrame; import com.megvii.livenessdetection.DetectionFrame;
import com.megvii.livenessdetection.Detector; import com.megvii.livenessdetection.Detector;
...@@ -41,7 +40,6 @@ import com.megvii.livenessdetection.Detector.DetectionListener; ...@@ -41,7 +40,6 @@ import com.megvii.livenessdetection.Detector.DetectionListener;
import com.megvii.livenessdetection.Detector.DetectionType; import com.megvii.livenessdetection.Detector.DetectionType;
import com.megvii.livenessdetection.FaceQualityManager; import com.megvii.livenessdetection.FaceQualityManager;
import com.megvii.livenessdetection.FaceQualityManager.FaceQualityErrorType; import com.megvii.livenessdetection.FaceQualityManager.FaceQualityErrorType;
import com.megvii.livenessdetection.LivenessLicenseManager;
import com.megvii.livenessdetection.bean.FaceIDDataStruct; import com.megvii.livenessdetection.bean.FaceIDDataStruct;
import com.megvii.livenessdetection.bean.FaceInfo; import com.megvii.livenessdetection.bean.FaceInfo;
...@@ -76,7 +74,6 @@ public class OrderLivenessActivity extends BaseActivity<OrderLivenessPresenter, ...@@ -76,7 +74,6 @@ public class OrderLivenessActivity extends BaseActivity<OrderLivenessPresenter,
private boolean isHandleStart;// 是否开始检测 private boolean isHandleStart;// 是否开始检测
private FaceQualityManager mFaceQualityManager; private FaceQualityManager mFaceQualityManager;
private SensorUtil sensorUtil; private SensorUtil sensorUtil;
private String uuid;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -85,19 +82,8 @@ public class OrderLivenessActivity extends BaseActivity<OrderLivenessPresenter, ...@@ -85,19 +82,8 @@ public class OrderLivenessActivity extends BaseActivity<OrderLivenessPresenter,
@Override @Override
public void initView() { public void initView() {
uuid = ConUtil.getUUIDString(this);
new Thread(() -> {
Manager manager = new Manager(OrderLivenessActivity.this);
LivenessLicenseManager licenseManager = new LivenessLicenseManager(OrderLivenessActivity.this);
manager.registerLicenseManager(licenseManager);
manager.takeLicenseFromNetwork(uuid);
if (licenseManager.checkCachedLicense() < 0) {
runOnUiThread(() -> ToastUtils.showShortToast(getString(R.string.accredit_error)));
} else {
initData();
}
}).start();
init(); init();
initData();
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment