Browse Source

fix file setting error

dev
MTing 3 weeks ago
parent
commit
6f645d4249
  1. 3
      app/src/main/java/com/ouxuan/oxface/MainActivity.java
  2. 8
      app/src/main/java/com/ouxuan/oxface/device/Ox485.java
  3. 2
      financelibrary/src/main/java/com/baidu/idl/face/main/finance/manager/FaceSDKManager.java
  4. 59
      financelibrary/src/main/java/com/baidu/idl/face/main/finance/utils/FinanceConfigUtils.java

3
app/src/main/java/com/ouxuan/oxface/MainActivity.java

@ -123,6 +123,9 @@ public class MainActivity extends AppCompatActivity {
// 设置长按登录按钮显示日志路径信息调试功能 // 设置长按登录按钮显示日志路径信息调试功能
setupLogPathDebug(); setupLogPathDebug();
// 初始化人脸识别配置文件确保filePath正确设置
initAndCheckFaceConfig(this);
// 动态获取设备类型并切换相机配置 // 动态获取设备类型并切换相机配置
int deviceType = DeviceSelectDataManager.getInstance(this).getDeviceType(); int deviceType = DeviceSelectDataManager.getInstance(this).getDeviceType();
Log.d(TAG, "初始化时获取设备类型: " + deviceType); Log.d(TAG, "初始化时获取设备类型: " + deviceType);

8
app/src/main/java/com/ouxuan/oxface/device/Ox485.java

@ -20,16 +20,18 @@ import java.util.concurrent.TimeUnit;
* 主要用于获取摄像头人数等485设备通信 * 主要用于获取摄像头人数等485设备通信
* 采用即用即连模式每次请求时打开连接完成后立即关闭确保通信可靠性 * 采用即用即连模式每次请求时打开连接完成后立即关闭确保通信可靠性
* *
* @author AI Assistant
* @author ouXuan
* @version 3.0 - 即用即连模式 * @version 3.0 - 即用即连模式
* @date 2024/09/22
* @date 2025/09/22
*/ */
public class Ox485 { public class Ox485 {
private static final String TAG = "Ox485"; private static final String TAG = "Ox485";
// 485通信配置 // 485通信配置
private static final String DEFAULT_SERIAL_PORT_PATH = "/dev/ttyS6";
private static final String DEFAULT_SERIAL_PORT_PATH = "/dev/ttyS6"; //第6批设备
// private static final String DEFAULT_SERIAL_PORT_PATH = "/dev/ttys4"; //第7批设备
private static final int DEFAULT_BAUD_RATE = 9600; private static final int DEFAULT_BAUD_RATE = 9600;
private static final int DEFAULT_STOP_BITS = 1; private static final int DEFAULT_STOP_BITS = 1;
private static final String HEX_COMMAND_GET_PEOPLE_NUM = "0F030001000294E5"; private static final String HEX_COMMAND_GET_PEOPLE_NUM = "0F030001000294E5";

2
financelibrary/src/main/java/com/baidu/idl/face/main/finance/manager/FaceSDKManager.java

@ -855,7 +855,7 @@ public class FaceSDKManager {
try { try {
if(deviceType == 6){ if(deviceType == 6){
Log.e("FaceSDKManager", "switchCamera--第7批"); Log.e("FaceSDKManager", "switchCamera--第7批");
SingleBaseConfig.getBaseConfig().setVideoDirection(90);
SingleBaseConfig.getBaseConfig().setVideoDirection(180);
SingleBaseConfig.getBaseConfig().setRgbVideoDirection(90); SingleBaseConfig.getBaseConfig().setRgbVideoDirection(90);
SingleBaseConfig.getBaseConfig().setMirrorDetectRGB(0); SingleBaseConfig.getBaseConfig().setMirrorDetectRGB(0);
}else if(deviceType == 5){ }else if(deviceType == 5){

59
financelibrary/src/main/java/com/baidu/idl/face/main/finance/utils/FinanceConfigUtils.java

@ -29,32 +29,63 @@ public class FinanceConfigUtils {
// 配置文件路径 // 配置文件路径
public static String filePath; public static String filePath;
public static final String folder2 = Environment.getExternalStorageDirectory() + File.separator + "Settings";
// 配置文件路径
public static final String filePath_gate = folder2 + "/" + "gateFaceConfig.txt";
// 动态获取外部存储路径避免在类加载时初始化
public static String getFolder2() {
if (isSDCardEnable()) {
return Environment.getExternalStorageDirectory() + File.separator + "Settings";
} else {
Log.w(TAG, "外部存储不可用,使用内部存储");
return null;
}
}
// 动态获取门禁配置文件路径
public static String getFilePathGate() {
String externalFolder = getFolder2();
return externalFolder != null ? externalFolder + "/" + "gateFaceConfig.txt" : null;
}
public static boolean isConfigExit(Context context) { public static boolean isConfigExit(Context context) {
folder = context.getFilesDir() + File.separator + "Settings"; folder = context.getFilesDir() + File.separator + "Settings";
filePath = folder2 + "/" + "financeFaceConfig.txt";
// filePath = filePath_gate;
// 优先使用外部存储如果不可用则使用内部存储
String externalFolder = getFolder2();
String configDir;
if (externalFolder != null) {
filePath = externalFolder + "/" + "financeFaceConfig.txt";
configDir = externalFolder;
} else {
// 回退到内部存储
filePath = folder + "/" + "financeFaceConfig.txt";
configDir = folder;
Log.d(TAG, "使用内部存储路径: " + filePath);
}
Log.d(TAG, "filePath_isConfigExit: "+filePath); Log.d(TAG, "filePath_isConfigExit: "+filePath);
File file1 = new File(folder);
if (!file1.exists()) {
file1.mkdirs();
// 确保配置目录存在
File configDirFile = new File(configDir);
if (!configDirFile.exists()) {
boolean mkdirResult = configDirFile.mkdirs();
Log.d(TAG, "创建配置目录 " + configDir + ": " + mkdirResult);
} }
File file = new File(filePath); File file = new File(filePath);
if (file.exists()) { if (file.exists()) {
return true; return true;
} else { } else {
try { try {
file.createNewFile();
modityJson();
boolean createResult = file.createNewFile();
Log.d(TAG, "创建配置文件 " + filePath + ": " + createResult);
if (createResult) {
modityJson();
}
return createResult;
} catch (IOException e) { } catch (IOException e) {
Log.e(TAG, "创建配置文件失败: " + filePath, e);
e.printStackTrace(); e.printStackTrace();
return false; return false;
} }
return true;
} }
} }
@ -353,6 +384,12 @@ public class FinanceConfigUtils {
* 修改配置文件内容并重新读取配置 * 修改配置文件内容并重新读取配置
*/ */
public static boolean modityJson() { public static boolean modityJson() {
// 确保文件路径已初始化
if (filePath == null || filePath.contains("null")) {
Log.e(TAG, "文件路径未初始化或无效: " + filePath);
return false;
}
// 检查文件路径是否有效 // 检查文件路径是否有效
if (filePath == null || filePath.contains("null")) { if (filePath == null || filePath.contains("null")) {
Log.e(TAG, "文件路径无效,无法写入配置文件: " + filePath); Log.e(TAG, "文件路径无效,无法写入配置文件: " + filePath);

Loading…
Cancel
Save