|
|
@ -203,6 +203,9 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
private GateABController gateABController; |
|
|
|
private ABGateManager abGateManager; |
|
|
|
private boolean isGateCheckEnabled = false; // AB门检测是否开启 |
|
|
|
|
|
|
|
// 方案二:添加状态标识控制订单选择页面的显示,避免重复弹出 |
|
|
|
private static boolean isOrderSelectionActivityShowing = false; // 订单选择页面是否正在显示 |
|
|
|
|
|
|
|
@Override |
|
|
|
protected void onCreate(Bundle savedInstanceState) { |
|
|
@ -211,6 +214,9 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
|
|
|
|
android.util.Log.d(TAG, "onCreate方法开始执行"); |
|
|
|
LogManager.logInfo(TAG, "OXFaceOnlineActivity onCreate开始"); |
|
|
|
|
|
|
|
// 方案二:初始化订单选择页面显示状态 |
|
|
|
isOrderSelectionActivityShowing = false; |
|
|
|
|
|
|
|
mContext = this; |
|
|
|
// 初始化LoginDataManager |
|
|
@ -461,6 +467,15 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
|
|
|
|
@Override |
|
|
|
public void navigateToOrderSelectionPage(String orderData, int verificationType, String faceBase64) { |
|
|
|
// 方案二:检查订单选择页面是否已经显示,避免重复弹出 |
|
|
|
if (isOrderSelectionActivityShowing) { |
|
|
|
LogManager.logInfo(TAG, "订单选择页面已经在显示中,避免重复启动"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// 设置标识为true,表示订单选择页面即将显示 |
|
|
|
isOrderSelectionActivityShowing = true; |
|
|
|
|
|
|
|
// 在跳转到订单选择页面时暂停摄像头 |
|
|
|
// pauseCameraWithTimeout(); |
|
|
|
pauseCamera(); |
|
|
@ -2335,6 +2350,9 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
resumeCamera(); |
|
|
|
LogManager.logInfo(TAG, "恢复摄像头预览 - 使用resumeCamera方法"); |
|
|
|
|
|
|
|
// 方案二:重置订单选择页面显示状态 |
|
|
|
isOrderSelectionActivityShowing = false; |
|
|
|
|
|
|
|
if (resultCode == RESULT_OK && data != null) { |
|
|
|
// 处理订单选择结果 |
|
|
|
String selectedOrderJson = data.getStringExtra("selected_order"); |
|
|
@ -2772,6 +2790,7 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
IntentFilter filter = new IntentFilter(); |
|
|
|
filter.addAction("com.ouxuan.oxface.ACTION_PAUSE_CAMERA"); |
|
|
|
filter.addAction("com.ouxuan.oxface.ACTION_RESUME_CAMERA"); |
|
|
|
filter.addAction("com.ouxuan.oxface.ACTION_RESET_ORDER_SELECTION_STATUS"); // 添加新的广播动作 |
|
|
|
registerReceiver(cameraControlReceiver, filter); |
|
|
|
LogManager.logInfo(TAG, "摄像头控制广播接收器已注册"); |
|
|
|
} |
|
|
@ -2791,6 +2810,10 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
// 恢复摄像头预览 |
|
|
|
resumeCamera(); |
|
|
|
LogManager.logInfo(TAG, "接收到恢复摄像头预览广播"); |
|
|
|
} else if ("com.ouxuan.oxface.ACTION_RESET_ORDER_SELECTION_STATUS".equals(action)) { |
|
|
|
// 方案二:重置订单选择页面显示状态 |
|
|
|
isOrderSelectionActivityShowing = false; |
|
|
|
LogManager.logInfo(TAG, "接收到重置订单选择页面显示状态广播"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -2921,6 +2944,9 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
LogManager.logError(TAG, "发送强制关闭对话框广播失败", e); |
|
|
|
} |
|
|
|
|
|
|
|
// 方案二:重置订单选择页面显示状态 |
|
|
|
isOrderSelectionActivityShowing = false; |
|
|
|
|
|
|
|
LogManager.logWarning(TAG, "摄像头已强制恢复,所有对话框已关闭"); |
|
|
|
} |
|
|
|
|
|
|
|