* 设置界面支持切换到不同类型的仪表盘地址,默认是自动跳转

* 监听遥控器 F8 按键,打开设置界面
* webView 禁止缩放,避免受到安卓字体和dpi缩放的影响
This commit is contained in:
Zhanghu
2025-10-10 15:42:24 +08:00
parent 80a8226c80
commit 4551fe1f5a
6 changed files with 68 additions and 6 deletions

View File

@@ -9,6 +9,17 @@ author:
2. $ {VERSION_CODE} (去掉空格),会自动替换实际修订号,比如 1.1.4.$ {VERSION_CODE}
-->
### [1.0.2.${VERSION_CODE}] - 2025.10.10
#### 文件下载
* [dashboard_1.0.2.apk](dashboard_1.0.2.apk)
#### 更新记录
* 设置界面支持切换到不同类型的仪表盘地址,默认是自动跳转
* 监听遥控器 F8 按键,打开设置界面
* webView 禁止缩放避免受到安卓字体和dpi缩放的影响
### [1.0.1.12] - 2025.9.16
#### 文件下载

View File

@@ -11,6 +11,7 @@ import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.WebResourceError;
@@ -96,9 +97,14 @@ public class BuildingDashboardActivity extends FullscreenActivity {
SharedPreferences pre = PreferenceManager.getDefaultSharedPreferences(this);
String url = pre.getString("k_url", "http://172.18.22.211:8002/Dashboard");
mainUrl = url + "/index.html";
String type = pre.getString("k_dashboard_type", "0");
configUrl = url + "/data/config.json";
if(!type.equals("0"))
mainUrl = url + "/dashboards/" + type + "/index.html";
else
mainUrl = url + "/index.html";
configLoadHandler.post(configLoadRunnable);
loadUrlWithRetry();
}
@@ -142,6 +148,24 @@ public class BuildingDashboardActivity extends FullscreenActivity {
}
}
/**
* 监听按键,因为 WebView 可能会拦截功能键,这里不使用 onKeyDown
* @param event
* @return
*/
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
Log.d(TAG, "dispatchKeyEvent:" + event.getKeyCode());
if ( event.getKeyCode() == KeyEvent.KEYCODE_F8
&& event.getAction() == KeyEvent.ACTION_DOWN) {
openSettingsActivity();
return true; // 不再向下分发
}
return super.dispatchKeyEvent(event);
}
private void initListener() {
binding.settingsButton.setOnClickListener(view -> openSettingsActivity());
}
@@ -158,6 +182,13 @@ public class BuildingDashboardActivity extends FullscreenActivity {
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
webSettings.setJavaScriptEnabled(true);
// 禁用缩放相关设置
webSettings.setTextZoom(100);
webSettings.setSupportZoom(false); // 禁止缩放
webSettings.setBuiltInZoomControls(false);
binding.webview.setInitialScale(100);
binding.webview.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, WebResourceRequest request,

View File

@@ -9,4 +9,16 @@
<item>reply</item>
<item>reply_all</item>
</string-array>
<string-array name="dashboard_type_entries">
<item>0 (根据服务器配置跳转)</item>
<item>1 (按楼层)</item>
<item>2 (网格+统计)</item>
</string-array>
<string-array name="dashboard_type_values">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
</resources>

View File

@@ -19,4 +19,5 @@
<string name="attachment_summary_on">Automatically download attachments for incoming emails
</string>
<string name="attachment_summary_off">Only download attachments when manually requested</string>
<string name="dashboard_type_default_value">0</string>
</resources>

View File

@@ -5,5 +5,12 @@
app:title="URL 前缀"
app:defaultValue="http://172.18.22.211:8002/Dashboard"
app:useSimpleSummaryProvider="true" />
<ListPreference
app:title="仪表盘类型"
app:key="k_dashboard_type"
app:useSimpleSummaryProvider="true"
app:entries="@array/dashboard_type_entries"
app:entryValues="@array/dashboard_type_values"
app:defaultValue="@string/dashboard_type_default_value" />
</PreferenceCategory>
</PreferenceScreen>