* 仅串口路径为空时才自动检测设备
* 设置界面可清除串口路径
This commit is contained in:
@@ -9,6 +9,16 @@ author:
|
|||||||
2. $ {VERSION_CODE} (去掉空格),会自动替换实际修订号,比如 1.1.4.$ {VERSION_CODE}
|
2. $ {VERSION_CODE} (去掉空格),会自动替换实际修订号,比如 1.1.4.$ {VERSION_CODE}
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
### [1.0.5.${VERSION_CODE}] - 2026.3.5
|
||||||
|
|
||||||
|
#### 文件下载
|
||||||
|
|
||||||
|
* [dashboardclient_1.0.5.apk](dashboardclient_1.0.5.apk)
|
||||||
|
|
||||||
|
#### 更新记录
|
||||||
|
* 仅串口路径为空时才自动检测设备
|
||||||
|
* 设置界面可清除串口路径
|
||||||
|
|
||||||
### [1.0.4.23] - 2026.1.5
|
### [1.0.4.23] - 2026.1.5
|
||||||
|
|
||||||
#### 文件下载
|
#### 文件下载
|
||||||
|
|||||||
@@ -110,22 +110,29 @@ public class BuildingDashboardActivity extends FullscreenActivity {
|
|||||||
configUrl = urlPrefix + "/data/config.json";
|
configUrl = urlPrefix + "/data/config.json";
|
||||||
mainUrl = urlEndPoint.isEmpty() ? urlPrefix : urlPrefix + "/" + urlEndPoint;
|
mainUrl = urlEndPoint.isEmpty() ? urlPrefix : urlPrefix + "/" + urlEndPoint;
|
||||||
|
|
||||||
|
Log.i(TAG, "Main: " + mainUrl);
|
||||||
|
Log.i(TAG, "Config: " + configUrl);
|
||||||
|
|
||||||
configLoadHandler.post(configLoadRunnable);
|
configLoadHandler.post(configLoadRunnable);
|
||||||
loadUrlWithRetry();
|
loadUrlWithRetry();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initSerialPort() {
|
private void initSerialPort() {
|
||||||
String portPath = PreferenceConfiguration.getSerialPortPath(this);
|
String portPath = PreferenceConfiguration.getSerialPortPath(this);
|
||||||
int baudRate = PreferenceConfiguration.getSerialPortBaudRate(this);
|
|
||||||
|
|
||||||
// 初始化串口检测器
|
// 只有 portPath 为空时才进行串口检测
|
||||||
detector = new SerialPortDetector(portPath, baudRate);
|
if (TextUtils.isEmpty(portPath)) {
|
||||||
|
int baudRate = PreferenceConfiguration.getSerialPortBaudRate(this);
|
||||||
|
// 初始化串口检测器
|
||||||
|
detector = new SerialPortDetector(portPath, baudRate);
|
||||||
|
|
||||||
// 每次启动都进行串口检测/验证
|
Log.i(TAG, "Starting serial port detection/verification...");
|
||||||
// 参数 true 表示确保设备开机(发送两个命令)
|
// 参数 true 表示确保设备开机(发送两个命令)
|
||||||
// 参数 false 表示仅检测串口(任一命令有响应即可)
|
// 参数 false 表示仅检测串口(任一命令有响应即可)
|
||||||
Log.i(TAG, "Starting serial port detection/verification...");
|
startSerialPortDetection(true);
|
||||||
startSerialPortDetection(true);
|
} else {
|
||||||
|
Log.i(TAG, "Using saved serial port path: " + portPath);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -276,6 +283,8 @@ public class BuildingDashboardActivity extends FullscreenActivity {
|
|||||||
WebSettings webSettings = binding.webview.getSettings();
|
WebSettings webSettings = binding.webview.getSettings();
|
||||||
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
|
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
|
||||||
webSettings.setJavaScriptEnabled(true);
|
webSettings.setJavaScriptEnabled(true);
|
||||||
|
// 允许媒体自动播放 (Android 8+ 必须)
|
||||||
|
webSettings.setMediaPlaybackRequiresUserGesture(false);
|
||||||
|
|
||||||
// 禁用缩放相关设置
|
// 禁用缩放相关设置
|
||||||
webSettings.setTextZoom(100);
|
webSettings.setTextZoom(100);
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
package cn.ykbox.dashboard.activity;
|
package cn.ykbox.dashboard.activity;
|
||||||
|
|
||||||
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.appcompat.app.ActionBar;
|
import androidx.appcompat.app.ActionBar;
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceFragmentCompat;
|
import androidx.preference.PreferenceFragmentCompat;
|
||||||
|
|
||||||
import cn.ykbox.dashboard.R;
|
import cn.ykbox.dashboard.R;
|
||||||
|
import cn.ykbox.dashboard.perferences.PreferenceConfiguration;
|
||||||
|
|
||||||
public class SettingsActivity extends AppCompatActivity {
|
public class SettingsActivity extends AppCompatActivity {
|
||||||
|
|
||||||
@@ -30,6 +34,21 @@ public class SettingsActivity extends AppCompatActivity {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||||
setPreferencesFromResource(R.xml.root_preferences, rootKey);
|
setPreferencesFromResource(R.xml.root_preferences, rootKey);
|
||||||
|
|
||||||
|
Preference clearDevicePref = findPreference("k_clear_device");
|
||||||
|
if (clearDevicePref != null) {
|
||||||
|
clearDevicePref.setOnPreferenceClickListener(preference -> {
|
||||||
|
new AlertDialog.Builder(requireContext())
|
||||||
|
.setTitle("确认清除")
|
||||||
|
.setMessage("确定要清除当前串口设备路径吗?")
|
||||||
|
.setPositiveButton("确定", (dialog, which) -> {
|
||||||
|
PreferenceConfiguration.setSerialPortPath(requireContext(), "");
|
||||||
|
})
|
||||||
|
.setNegativeButton("取消", null)
|
||||||
|
.show();
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -25,5 +25,9 @@
|
|||||||
app:title="串口波特率"
|
app:title="串口波特率"
|
||||||
app:defaultValue="9600"
|
app:defaultValue="9600"
|
||||||
app:useSimpleSummaryProvider="true" />
|
app:useSimpleSummaryProvider="true" />
|
||||||
|
<Preference
|
||||||
|
app:key="k_clear_device"
|
||||||
|
app:title="清除设备"
|
||||||
|
app:summary="清除当前串口设备路径, 下次启动时自动检测设备。" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
Reference in New Issue
Block a user