欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何在Android 8.1中自定义蓝牙和WiFi热点的默认名称?

最编程 2024-01-22 21:22:28
...

假设,先需要将蓝牙和wifi热点默认名称改成aa。
修改蓝牙默认名称需修改bdroid_buildcfg.h

// device\generic\common\bluetooth\bdroid_buildcfg.h
#define BTM_DEF_LOCAL_NAME   "Android Bluedroid"

将Android Bluedroid改成aa即可。修改后如下所示。
#define BTM_DEF_LOCAL_NAME "aa"

修改wifi热点默认名称需修改2个地方。
1.将strings中的AndroidAP改成aa

// frameworks\base\core\res\res\values\strings.xml
    <string name="wifi_tether_configure_ssid_default" translatable="false">AndroidAP</string>

修改后如下所示。
<string name="wifi_tether_configure_ssid_default" translatable="false">aa</string>
2.修改getDefaultApConfiguration函数中的 config.SSID的赋值。

// 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.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.SSID = mContext.getResources().getString( R.string.wifi_tether_configure_ssid_default) + "_" + getRandomIntForDefaultSsid();改成R.string.wifi_tether_configure_ssid_default);// + "_" + getRandomIntForDefaultSsid();

参考链接:
Android P修改蓝牙名称
修改wifi direct/ hotspot/ Bluetooth默认名称