Android8.1 MTK平台 WLAN热点定制

简介: Android8.1 MTK平台 WLAN热点定制

默认启用 WLAN 热点


核心方法打开关闭 WLAN 热点从 SystemUI 中的 qsTile 快捷开关中提取

既然要默认启用这里选择加到 KeyguardUpdateMonitor.java 中,监听开机广播


vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java

+import com.android.systemui.Dependency;
+import com.android.systemui.statusbar.policy.HotspotController;
 /**
  * Watches for updates that may be interesting to the keyguard, and provides
  * the up to date information as well as a registration for callbacks that care
@@ -237,6 +239,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
     private final IDreamManager mDreamManager;
     private boolean mIsDreaming;
+    private final HotspotController mController;
+
     /**
      * Short delay before restarting fingerprint authentication after a successful try
      * This should be slightly longer than the time between onFingerprintAuthenticated and
@@ -835,6 +839,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
                 dispatchBootCompleted();
+                mController.setHotspotEnabled(true);
+                android.provider.Settings.System.putInt(mContext.getContentResolver(), 
+                    com.mediatek.provider.MtkSettingsExt.System.WIFI_HOTSPOT_AUTO_DISABLE, 0);
             } else if (Intent.ACTION_AIRPLANE_MODE_CHANGED.equals(action)) {
                 ///M: fix ALPS01821063, we should assume that extra value may not exist.
                 ///   Although the extra value of AIRPLANE_MODE_CHANGED intent should exist in fact.
@@ -1364,6 +1372,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
         SystemServicesProxy.getInstance(mContext).registerTaskStackListener(mTaskStackListener);
         mUserManager = context.getSystemService(UserManager.class);
+
+        mController = Dependency.get(HotspotController.class);
     }
     private void updateFingerprintListeningState() {


WLAN 热点保持开启,休眠不关闭


核心方法通过 adb shell dumpsys window | findstr mCurrentFocus 指令追踪到设置界面为


mCurrentFocus=Window{ffb4936 u0 com.android.settings/com.android.settings.Settings$TetherWifiSettingsActivity}


从 TetherWifiSettingsActivity.java 中得到


0 始终开启 1 空闲5分钟后关闭 2 空闲10分钟后关闭

  android.provider.Settings.System.putInt(mContext.getContentResolver(), 
+                    com.mediatek.provider.MtkSettingsExt.System.WIFI_HOTSPOT_AUTO_DISABLE, 0);

WLAN 热点默认名称和密码


可通过 prop 值灵活配置默认名称和密码

frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiApConfigStore.java


     private WifiConfiguration getDefaultApConfiguration() {
         WifiConfiguration config = new WifiConfiguration();
-        config.SSID = mContext.getResources().getString(
-                R.string.wifi_tether_configure_ssid_default) + "_" + getRandomIntForDefaultSsid();
+        //config.SSID = mContext.getResources().getString(
+        //        R.string.wifi_tether_configure_ssid_default) + "_" + getRandomIntForDefaultSsid();
+        config.SSID = android.os.SystemProperties.get("persist.temp.wifiap.ssid", "WlanAP");
         config.allowedKeyManagement.set(KeyMgmt.WPA2_PSK);
         String randomUUID = UUID.randomUUID().toString();
         //first 12 chars from xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
-        config.preSharedKey = randomUUID.substring(0, 8) + randomUUID.substring(9, 13);
+        //config.preSharedKey = randomUUID.substring(0, 8) + randomUUID.substring(9, 13);
+        config.preSharedKey = android.os.SystemProperties.get("persist.temp.wifiap.key", "123456789");
         return config;
     }


目录
相关文章
|
2天前
|
Java 开发工具 Android开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
在移动应用开发的广阔天地中,Android和iOS两大平台各自占据着半壁江山。本文将深入探讨这两个平台在开发过程中的关键差异点,包括编程语言、开发工具、用户界面设计、性能优化以及市场覆盖等方面。通过对这些关键因素的比较分析,旨在为开发者提供一个清晰的指南,帮助他们根据项目需求和目标受众做出明智的平台选择。
|
1月前
|
开发工具 Android开发
rk平台Android12屏幕永不休眠
rk平台Android12屏幕永不休眠
34 1
|
1天前
|
监控 Android开发 iOS开发
探索Android与iOS开发的差异:平台、工具和用户体验的比较
【6月更文挑战第25天】在移动应用开发的广阔天地中,Android和iOS两大平台各领风骚,它们在开发环境、工具选择及用户体验设计上展现出独特的风貌。本文将深入探讨这两个操作系统在技术实现、市场定位和用户交互方面的关键差异,旨在为开发者提供一个全景式的视图,帮助他们在面对项目决策时能够更加明智地选择适合自己项目需求的平台。
|
8天前
|
Java Android开发 Swift
探索Android与iOS开发的差异:平台选择对项目成功的影响
【6月更文挑战第18天】在移动应用开发的广阔天地中,Android和iOS两大平台各据一方,它们在市场份额、用户群体及开发环境上各有千秋。本文将深入分析这两个操作系统的开发差异,探讨如何根据项目需求选择合适的平台,并讨论跨平台解决方案的可行性与挑战。我们将通过实际案例,揭示平台选择对项目成功的关键性影响,为开发者提供决策支持。
|
9天前
|
安全 IDE Android开发
探索Android与iOS开发的差异:平台特性与编程实践
【6月更文挑战第17天】在移动应用开发的广阔天地中,Android和iOS两大平台各自占据半壁江山。它们在用户群体、系统架构以及开发环境上的差异,为开发者带来了不同的挑战和机遇。本文深入探讨了这两个平台在技术实现、界面设计、性能优化等方面的主要区别,并提供了实用的开发建议,旨在帮助开发者更好地理解各自平台的特性,从而创造出更加优秀的移动应用。
|
12天前
|
安全 Android开发 iOS开发
探索Android与iOS开发的差异:平台特性与用户体验的对比分析
在移动应用开发的广阔天地中,Android和iOS两大阵营各据一方。本文将深入探讨这两个操作系统在开发环境、编程语言、用户界面设计及市场分布等方面的主要区别。通过比较分析,我们将揭示各自平台的特有优势,并讨论如何根据目标受众和业务需求选择适合的开发平台。
|
14天前
|
安全 Android开发 iOS开发
探索Android与iOS开发平台的差异
【6月更文挑战第12天】在移动应用开发的广阔天地中,Android和iOS两大阵营各具特色,它们之间的差异不仅体现在技术层面,更影响着开发者的选择和用户的体验。本文将深入探讨这两大平台在开发环境、用户界面设计、市场策略及安全性方面的主要区别,为开发者提供一份实用的指南,帮助他们在这两个不同的世界中做出明智的决策。
16 3
|
20天前
|
Java Android开发 Swift
探索安卓与iOS开发的差异:平台选择对项目成功的影响
在移动应用开发的浩瀚宇宙中,安卓和iOS这两大星系以其独特的引力影响着开发者的航向。本文将穿梭于这两个平台的开发环境、编程语言、用户界面设计、性能优化以及市场分布等方面,揭示它们之间的核心差异。我们将通过比较分析,为开发者提供决策时的参考坐标,帮助他们根据项目需求和目标受众选择合适的平台。加入我们,一起揭开安卓与iOS开发的神秘面纱,探索它们如何塑造移动应用的未来。
|
19天前
|
安全 Java Android开发
探索Android与iOS开发平台的差异与优势
【6月更文挑战第7天】在移动应用开发的广阔天地中,Android和iOS两大平台如同双子星般熠熠生辉。本文将深入探讨这两个系统在开发环境、用户界面设计、市场策略及安全性方面的不同之处,旨在为开发者提供一个清晰的指南,帮助他们根据项目需求和目标受众选择最合适的平台。
|
6天前
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析