六安網(wǎng)站制作費用多少友情網(wǎng)
文章目錄
- 開發(fā)平臺基本信息
- 問題描述
- 解決方法
開發(fā)平臺基本信息
芯片: MT8766
版本: Android 12
kernel: msm-4.19
問題描述
之前有個需求要設(shè)備默認開啟WIFI熱點,默認開啟usb共享網(wǎng)絡(luò);而熱點在原生的設(shè)定里面有個超時機制,如果在限定時間內(nèi),沒有任何設(shè)備連接共享出來的網(wǎng)絡(luò),則會自動關(guān)閉熱點。但是,客戶的需求是一直保持共享網(wǎng)絡(luò)開啟。
解決方法
熱點超時時間是讀取config文件中config_wifiFrameworkSoftApShutDownTimeoutMilliseconds
的值;這個在低版本是寫在framework目錄下;而在Android12中,則是放在了packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
;默認值是
600000;也就是10分鐘;所以,改大這個默認值也可以實現(xiàn)默認不關(guān)閉,但是,最大也就是int類型的最大值2147483647;大概是10天左右。
- 還有一種做法,就是在觸發(fā)超時關(guān)閉共享網(wǎng)絡(luò)的地方,跳過關(guān)閉的步驟,具體實現(xiàn)如下:
--- a/packages/modules/Wifi/service/java/com/android/server/wifi/SoftApManager.java
+++ b/packages/modules/Wifi/service/java/com/android/server/wifi/SoftApManager.java
@@ -1424,21 +1424,21 @@ public class SoftApManager implements ActiveModeManager {// Already started, ignore this command.break;case CMD_NO_ASSOCIATED_STATIONS_TIMEOUT:
- if (!mTimeoutEnabled) {
- Log.wtf(getTag(), "Timeout message received while timeout is disabled."
- + " Dropping.");
- break;
- }
- if (getConnectedClientList().size() != 0) {
- Log.wtf(getTag(), "Timeout message received but has clients. "
- + "Dropping.");
- break;
- }
- mSoftApNotifier.showSoftApShutdownTimeoutExpiredNotification();
- Log.i(getTag(), "Timeout message received. Stopping soft AP.");
- updateApState(WifiManager.WIFI_AP_STATE_DISABLING,
- WifiManager.WIFI_AP_STATE_ENABLED, 0);
- quitNow();
+ // if (!mTimeoutEnabled) {
+ // Log.wtf(getTag(), "Timeout message received while timeout is disabled."
+ // + " Dropping.");
+ // break;
+ // }
+ // if (getConnectedClientList().size() != 0) {
+ // Log.wtf(getTag(), "Timeout message received but has clients. "
+ // + "Dropping.");
+ // break;
+ // }
+ // mSoftApNotifier.showSoftApShutdownTimeoutExpiredNotification();
+ // Log.i(getTag(), "Timeout message received. Stopping soft AP.");
+ // updateApState(WifiManager.WIFI_AP_STATE_DISABLING,
+ // WifiManager.WIFI_AP_STATE_ENABLED, 0);
+ // quitNow();break;case CMD_NO_ASSOCIATED_STATIONS_TIMEOUT_ON_ONE_INSTANCE:if (!isBridgedMode() || mCurrentSoftApInfoMap.size() != 2) {