Android13 wifi设置国家码详解

news2025/5/23 15:26:51

Android13 wifi设置国家码详解

文章目录

  • Android13 wifi设置国家码详解
    • 一、前言
    • 二、设置wifi国家码相关代码
      • 1、adb或者串口也能设置和获取当前国家码
        • (1)查询命令的方式
        • (2)获取和设置国家码的示例
      • 2、Java代码设置国家码
      • 3、获取当前语言
    • 三、其他
      • 1、小结
      • 2、Android 使用adb操作WiFi连接扫描等相关指令
      • 3、国家码字符串大全
  • PS: 把每一天的烟火气,都酿成热爱的诗 .

一、前言

wifi设置国家码有啥用?国外产品有些地区的产品需要设置wifi国家码的。

  • 场景:手机、平板等设备在不同国家 / 地区销售时,需符合当地无线电管理法规(如中国的 SRRC 认证、欧盟的 CE 认证、美国的 FCC 认证)。

  • 需求:通过设置国家码,强制设备使用当地允许的 Wi-Fi 频段(如:

    • 中国:2.4GHz 频段(1-13 信道),5GHz 频段(36-64、149-165 信道);
    • 美国:2.4GHz(1-11 信道),5GHz(36-165 信道,含 DFS 信道);
    • 日本:2.4GHz(1-14 信道))。
  • 作用:避免因频段违规导致产品无法上市或面临法律风险。

简单的说就是不同国家的网络无线认证,需要设置支持哪些wifi信道和热点信道。

比如,日本目前不支持5G信道,那么出售日本的手机就需要支持设置日本语言后,

不能连接5G信道的wifi和热点,并且手机上也不能释放5G的热点。

设置国家码的作用就是让上层和底层都知道当前国家码的值,并且做成相应处理。

网上使用豆包等AI工具设置的国家码的代码都是不对的,可能是比较旧版本的Android代码的实现,

本文的设置国家码代码实现是基于Android11之后的,是目前的主流代码。

WifiManager.setCountryCode 在Android13 之后的代码是没有的,可以使用另外的方法。

本文主要介绍wifi国家码的设置相关内容。

关于设置国家码后如何适配认证,后续再介绍。

二、设置wifi国家码相关代码

1、adb或者串口也能设置和获取当前国家码

(1)查询命令的方式
255|console:/ # cmd wifi | grep country //获取国家码相关命令                        
  get-country-code  //获取当前国家码信息
    Gets country code as a two-letter string
  force-country-code enabled <two-letter code> | disabled //设置国家码
    Sets country code to <two-letter code> or left for normal value
    or '00' for forcing to world mode country code
console:/ # 

cmd wifi 有大部分WifiManager的接口方法,比如Wifi 开关,连接,热点开关等命令,有兴趣的可以自己看看。

(2)获取和设置国家码的示例
console:/ # cmd wifi get-country-code //获取当前国家码信息
Wifi Country Code = US
console:/ # 
console:/ # cmd wifi force-country-code enabled JP //设置国家码,日本
console:/ # cmd wifi get-country-code                                          
Wifi Country Code = JP
console:/ # cmd wifi force-country-code enabled CN //设置国家码,中国
console:/ # cmd wifi get-country-code                                          
Wifi Country Code = CN
console:/ # cmd wifi force-country-code enabled DD   //设置国家码,随便设
console:/ # cmd wifi get-country-code                                          
Wifi Country Code = DD
console:/ # 

上面可以看到随便设置国家码的字符都能生效,但是framework和底层会自己判断后执行具体操作。

2、Java代码设置国家码

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
//设置国家码
wifiManager.setOverrideCountryCode(String countryCode); //比如:"CN"
//获取国家码
String wifiCountry = wifiManager.getCountryCode();

//当前系统语言的国家码
String countryCode = Locale.getDefault().getCountry(); //比如:US,CN
String countryName = Locale.getDefault().getDisplayCountry(); // 可读名称(如“中国”)

WifiManager设置wifi国家码,需要系统签名应用,并且声明权限:

android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE

那么什么时候设置国家码呢?

其实是在切换国家语言的时候进行设置就行。

3、获取当前语言

可以在监听到广播后获取当前国家码,然后设置wifi国家码;

切换国家语言的时候是有广播:Intent.ACTION_LOCALE_CHANGED;

String localeCountry = Locale.getDefault().getCountry();

上面代码返回的字符串,就是语言对应的国家码,wifi的国家码就是要设置这个字符串。

三、其他

1、小结

Android设置wifi国家码,可以通过cmd命令设置获取;

也可以通过Java代码WifiManager.setOverrideCountryCode的接口设置;

系统默认不会设置wifi的国家码,需要自己在接收语言切换广播

或者特定需求下获取当前语言的国家码和设置wifi国家码。

国家码字符串正规都是大写的,如果设置的是小写的字母,重新获取也是返回的大写字符串。

2、Android 使用adb操作WiFi连接扫描等相关指令

Android系统自带有组很强大的shell指令集,

这里记录下平时使用的cmd wifi 相关指令。

系统初期开发或者定位一下wifi、热点问题会比较有用。

https://blog.csdn.net/wenzhi20102321/article/details/140043930

3、国家码字符串大全

以下是 ISO 3166-1 alpha-2 标准的国家和地区代码列表(按字母顺序排列),包含250 个条目:

国家 / 地区代码表(带序号):

序号代码国家 / 地区名称(中文)国家 / 地区名称(英文)
1AD安道尔Andorra
2AE阿拉伯联合酋长国United Arab Emirates
3AF阿富汗Afghanistan
4AG安提瓜和巴布达Antigua and Barbuda
5AI安圭拉Anguilla
6AL阿尔巴尼亚Albania
7AM亚美尼亚Armenia
8AO安哥拉Angola
9AQ南极洲Antarctica
10AR阿根廷Argentina
11AS美属萨摩亚American Samoa
12AT奥地利Austria
13AU澳大利亚Australia
14AW阿鲁巴Aruba
15AX奥兰群岛Åland Islands
16AZ阿塞拜疆Azerbaijan
17BA波斯尼亚和黑塞哥维那Bosnia and Herzegovina
18BB巴巴多斯Barbados
19BD孟加拉国Bangladesh
20BE比利时Belgium
21BF布基纳法索Burkina Faso
22BG保加利亚Bulgaria
23BH巴林Bahrain
24BI布隆迪Burundi
25BJ贝宁Benin
26BL圣巴泰勒米Saint Barthélemy
27BM百慕大Bermuda
28BN文莱达鲁萨兰国Brunei Darussalam
29BO玻利维亚(多民族国)Bolivia, Plurinational State of
30BQ博内尔、圣尤斯特歇斯和萨巴Bonaire, Sint Eustatius and Saba
31BR巴西Brazil
32BS巴哈马Bahamas
33BT不丹Bhutan
34BV布维岛Bouvet Island
35BW博茨瓦纳Botswana
36BY白俄罗斯Belarus
37BZ伯利兹Belize
38CA加拿大Canada
39CC科科斯(基林)群岛Cocos (Keeling) Islands
40CD刚果民主共和国Congo, the Democratic Republic of the
41CF中非共和国Central African Republic
42CG刚果共和国Congo
43CH瑞士Switzerland
44CI科特迪瓦Côte d’Ivoire
45CK库克群岛Cook Islands
46CL智利Chile
47CM喀麦隆Cameroon
48CN中国China
49CO哥伦比亚Colombia
50CR哥斯达黎加Costa Rica
51CU古巴Cuba
52CV佛得角Cabo Verde
53CW库拉索Curaçao
54CX圣诞岛Christmas Island
55CY塞浦路斯Cyprus
56CZ捷克共和国Czech Republic
57DE德国Germany
58DJ吉布提Djibouti
59DK丹麦Denmark
60DM多米尼克Dominica
61DO多米尼加共和国Dominican Republic
62DZ阿尔及利亚Algeria
63EC厄瓜多尔Ecuador
64EE爱沙尼亚Estonia
65EG埃及Egypt
66EH西撒哈拉Western Sahara
67ER厄立特里亚Eritrea
68ES西班牙Spain
69ET埃塞俄比亚Ethiopia
70FI芬兰Finland
71FJ斐济Fiji
72FK福克兰群岛(马尔维纳斯)Falkland Islands (Malvinas)
73FM密克罗尼西亚联邦Federated States of Micronesia
74FO法罗群岛Faroe Islands
75FR法国France
76GA加蓬Gabon
77GB英国United Kingdom
78GD格林纳达Grenada
79GE格鲁吉亚Georgia
80GF法属圭亚那French Guiana
81GG根西岛Guernsey
82GH加纳Ghana
83GI直布罗陀Gibraltar
84GL格陵兰Greenland
85GM冈比亚Gambia
86GN几内亚Guinea
87GP瓜德罗普Guadeloupe
88GQ赤道几内亚Equatorial Guinea
89GR希腊Greece
90GS南乔治亚岛和南桑威奇群岛South Georgia and the South Sandwich Islands
91GT危地马拉Guatemala
92GU关岛Guam
93GW几内亚比绍Guinea-Bissau
94GY圭亚那Guyana
95HK中国香港特别行政区Hong Kong Special Administrative Region of China
96HM赫德岛和麦克唐纳群岛Heard Island and McDonald Islands
97HN洪都拉斯Honduras
98HR克罗地亚Croatia
99HT海地Haiti
100HU匈牙利Hungary
101ID印度尼西亚Indonesia
102IE爱尔兰Ireland
103IL以色列Israel
104IM马恩岛Isle of Man
105IN印度India
106IO英属印度洋领地British Indian Ocean Territory
107IQ伊拉克Iraq
108IR伊朗伊斯兰共和国Iran, Islamic Republic of
109IS冰岛Iceland
110IT意大利Italy
111JE泽西岛Jersey
112JM牙买加Jamaica
113JO约旦Jordan
114JP日本Japan
115KE肯尼亚Kenya
116KG吉尔吉斯斯坦Kyrgyzstan
117KH柬埔寨Cambodia
118KI基里巴斯Kiribati
119KM科摩罗Comoros
120KN圣基茨和尼维斯Saint Kitts and Nevis
121KP朝鲜民主主义人民共和国Korea, Democratic People’s Republic of
122KR大韩民国Korea, Republic of
123KW科威特Kuwait
124KY开曼群岛Cayman Islands
125KZ哈萨克斯坦Kazakhstan
126LA老挝人民民主共和国Lao People’s Democratic Republic
127LB黎巴嫩Lebanon
128LC圣卢西亚Saint Lucia
129LI列支敦士登Liechtenstein
130LK斯里兰卡Sri Lanka
131LR利比里亚Liberia
132LS莱索托Lesotho
133LT立陶宛Lithuania
134LU卢森堡Luxembourg
135LV拉脱维亚Latvia
136LY利比亚Libya
137MA摩洛哥Morocco
138MC摩纳哥Monaco
139MD摩尔多瓦共和国Moldova, Republic of
140ME黑山Montenegro
141MF圣马丁(法属部分)Saint Martin (French part)
142MG马达加斯加Madagascar
143MH马绍尔群岛Marshall Islands
144MK北马其顿North Macedonia
145ML马里Mali
146MM缅甸Myanmar
147MN蒙古Mongolia
148MO中国澳门特别行政区Macao Special Administrative Region of China
149MP北马里亚纳群岛Northern Mariana Islands
150MQ马提尼克Martinique
151MR毛里塔尼亚Mauritania
152MS蒙特塞拉特Montserrat
153MT马耳他Malta
154MU毛里求斯Mauritius
155MV马尔代夫Maldives
156MW马拉维Malawi
157MX墨西哥Mexico
158MY马来西亚Malaysia
159MZ莫桑比克Mozambique
160NA纳米比亚Namibia
161NC新喀里多尼亚New Caledonia
162NE尼日尔Niger
163NF诺福克岛Norfolk Island
164NG尼日利亚Nigeria
165NI尼加拉瓜Nicaragua
166NL荷兰Netherlands
167NO挪威Norway
168NP尼泊尔Nepal
169NR瑙鲁Nauru
170NU纽埃Niue
171NZ新西兰New Zealand
172OM阿曼Oman
173PA巴拿马Panama
174PE秘鲁Peru
175PF法属波利尼西亚French Polynesia
176PG巴布亚新几内亚Papua New Guinea
177PH菲律宾Philippines
178PK巴基斯坦Pakistan
179PL波兰Poland
180PM圣皮埃尔和密克隆Saint Pierre and Miquelon
181PN皮特凯恩Pitcairn
182PR波多黎各Puerto Rico
183PS巴勒斯坦国Palestine, State of
184PT葡萄牙Portugal
185PW帕劳Palau
186PY巴拉圭Paraguay
187QA卡塔尔Qatar
188RE留尼汪Réunion
189RO罗马尼亚Romania
190RS塞尔维亚Serbia
191RU俄罗斯联邦Russian Federation
192RW卢旺达Rwanda
193SA沙特阿拉伯Saudi Arabia
194SB所罗门群岛Solomon Islands
195SC塞舌尔Seychelles
196SD苏丹Sudan
197SE瑞典Sweden
198SG新加坡Singapore
199SH圣赫勒拿、阿森松和特里斯坦 - 达库尼亚Saint Helena, Ascension and Tristan da Cunha
200SI斯洛文尼亚Slovenia
201SJ斯瓦尔巴和扬马延Svalbard and Jan Mayen
202SK斯洛伐克Slovakia
203SL塞拉利昂Sierra Leone
204SM圣马力诺San Marino
205SN塞内加尔Senegal
206SO索马里Somalia
207SR苏里南Suriname
208SS南苏丹South Sudan
209ST圣多美和普林西比São Tomé and Príncipe
210SV萨尔瓦多El Salvador
211SX圣马丁(荷属部分)Sint Maarten (Dutch part)
212SY阿拉伯叙利亚共和国Syrian Arab Republic
213SZ斯威士兰Eswatini
214TC特克斯和凯科斯群岛Turks and Caicos Islands
215TD乍得Chad
216TF法属南部领地French Southern Territories
217TG多哥Togo
218TH泰国Thailand
219TJ塔吉克斯坦Tajikistan
220TK托克劳Tokelau
221TL东帝汶Timor-Leste
222TM土库曼斯坦Turkmenistan
223TN突尼斯Tunisia
224TO汤加Tonga
225TR土耳其Turkey
226TT特立尼达和多巴哥Trinidad and Tobago
227TV图瓦卢Tuvalu
228TW中国台湾Taiwan, Province of China
229TZ坦桑尼亚联合共和国Tanzania, United Republic of
230UA乌克兰Ukraine
231UG乌干达Uganda
232UM美国本土外小岛屿United States Minor Outlying Islands
233US美国United States of America
234UY乌拉圭Uruguay
235UZ乌兹别克斯坦Uzbekistan
236VA梵蒂冈城国Vatican City State
237VC圣文森特和格林纳丁斯Saint Vincent and the Grenadines
238VE委内瑞拉玻利瓦尔共和国Venezuela, Bolivarian Republic of
239VG英属维尔京群岛Virgin Islands, British
240VI美属维尔京群岛Virgin Islands, U.S.
241VN越南Viet Nam
242VU瓦努阿图Vanuatu
243WF瓦利斯和富图纳Wallis and Futuna
244WS萨摩亚Samoa
245XK科索沃Kosovo
246YE也门Yemen
247YT马约特Mayotte
248ZA南非South Africa
249ZM赞比亚Zambia
250ZW津巴布韦Zimbabwe

上面这个算是全网最全的国家码列表了,Settings也不会显示全部,应用多语言适配一般也不会全部适配;

有些语言并不是系统语言,Settings切换某些语言会提示非系统语言。

其他说明:

  • 代码格式:所有国家 / 地区代码均为两位大写字母,符合 ISO 3166-1 标准。
  • 特殊区域:
    • TW:台湾(中国省级行政区)
    • HK/MO:中国香港 / 澳门特别行政区
    • XK:科索沃(部分国家承认的独立国家,联合国未承认)
  • 使用场景:常用于国际域名、IP 地址归属地、国际支付系统等。

PS: 把每一天的烟火气,都酿成热爱的诗 .

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2383981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

逆向音乐APP:Python爬虫获取音乐榜单 (1)

1. 引言 在数字音乐时代&#xff0c;许多平台如音乐有榜单&#xff0c;限制非付费用户访问高音质或独家内容。然而&#xff0c;从技术研究的角度来看&#xff0c;我们可以通过逆向工程和Python爬虫技术解音乐的API接口&#xff0c;获取付费音乐的播放链接。 2. 技术准备 在当…

支持向量存储:PostgresSQL及pgvector扩展详细安装步骤!老工程接入RAG功能必备!

之前文章和大家分享过&#xff0c;将会出一篇专栏&#xff08;从电脑装ubuntu系统&#xff0c;到安装ubuntu的常用基础软件&#xff1a;jdk、python、node、nginx、maven、supervisor、minio、docker、git、mysql、redis、postgresql、mq、ollama等&#xff09;&#xff0c;目前…

idea常用配置 properties中文输出乱码

propertis配置中文乱码 源码和编译后的都是中文 程序输入效果 idea配置3处 程序输出效果 自定义注释模板 IDEA 中有以下两种配置模板。 File and Code Templates Live Templates File and Code Templates File and Code Templates 用来配置文件和代码模板&#xff0c;即…

day1 大模型学习 Qwen系列学习

Qwen 模型学习笔记:RM、SFT 与 RLHF 技术解析 一、Qwen 模型概述 Qwen 是阿里巴巴开源的大型语言模型系列,旨在实现通用人工智能(AGI)。其架构包括基础语言模型(如 Qwen-7B、Qwen-14B、Qwen-72B)和经过后训练的对话模型(如 Qwen-Chat)。后训练主要通过 SFT 和 RLHF 技…

Unity3D仿星露谷物语开发47之砍树时落叶特效

1、目标 当橡树被砍伐时的落叶粒子效果。 2、创建粒子物体 Hierarchy -> PersistentScene下创建新物体命名为DeciduousLeavesFalling。 添加Particle System组件。 基础配置如下&#xff1a;&#xff08;暂时勾选Looping实时可以看生成效果&#xff0c;后面反选即可&am…

第十节第六部分:常见API:DateTimeFormatter、Period、Duration

DateTimeFormatter类常用方法 Period类常用方法 Duration类常用方法 总结 代码&#xff1a; 代码一&#xff1a;DateTimeFormatter类常用方法 package com.itheima.jdk8_time;import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;public class DateT…

如何在VSCode中更换默认浏览器:完整指南

引言 作为前端开发者&#xff0c;我们经常需要在VSCode中快速预览HTML文件。默认情况下&#xff0c;VSCode会使用系统默认浏览器打开文件&#xff0c;但有时我们可能需要切换到其他浏览器进行测试。本文将详细介绍如何在VSCode中更换默认浏览器。 方法一&#xff1a;使用VSCo…

【机器人】复现 3D-Mem 具身探索和推理 | 3D场景记忆 CVPR 2025

3D-Mem 是用于具体探索和推理的3D场景记忆&#xff0c;来自CVPR 2025. 本文分享3D-Mem复现和模型推理的过程&#xff5e; 下面是一个推理和选择识别的结果&#xff1a; 看一下机器人探索的效果&#xff1a; 下面是真实环境下&#xff0c;官方跑的demo&#xff0c;3D-Mem无需训…

鸿蒙进阶——CMakelist、GN语法简介及三方库通用移植指南

文章大纲 引言一、GN常用的内置变量二、GN常用的内置函数三、CMake 重要语法1、生成动态库2、生成静态库3、生成OBJECT 库4、重要的函数和模块4.1、add_definitions4.2、execute_process4.3、add_dependencies4.4、install4.5、FetchContent 四、GN 重要语法1、编译Target2、预…

CSS-5.1 Transition 过渡

本系列可作为前端学习系列的笔记&#xff0c;代码的运行环境是在HBuilder中&#xff0c;小编会将代码复制下来&#xff0c;大家复制下来就可以练习了&#xff0c;方便大家学习。 HTML系列文章 已经收录在前端专栏&#xff0c;有需要的宝宝们可以点击前端专栏查看&#xff01; 点…

从虚拟仿真到行业实训再到具身智能--华清远见嵌入式物联网人工智能全链路教学方案

2025年5月23-25日&#xff0c;第63届中国高等教育博览会&#xff08;高博会&#xff09;将在长春中铁东北亚国际博览中心举办。作为国内高等教育领域规模大、影响力广的综合性展会&#xff0c;高博会始终聚焦教育科技前沿&#xff0c;吸引全国高校管理者、一线教师、教育科技企…

告别手动绘图!2分钟用 AI 生成波士顿矩阵

波士顿矩阵作为经典工具&#xff0c;始终是企业定位产品组合、制定竞争策略的核心方法论。然而&#xff0c;传统手动绘制矩阵的方式&#xff0c;往往面临数据处理繁琐、图表调整耗时、团队协作低效等痛点。 随着AI技术的发展&#xff0c;这一现状正在被彻底改变。boardmix博思白…

GraphPad Prism工作表的管理

《2025新书现货 GraphPad Prism图表可视化与统计数据分析&#xff08;视频教学版&#xff09;雍杨 康巧昆 清华大学出版社教材书籍 9787302686460 GraphPadPrism图表可视化 无规格》【摘要 书评 试读】- 京东图书 GraphPad Prism统计数据分析_夏天又到了的博客-CSDN博客 工作…

告别静态UI!Guineration用AI打造用户专属动态界面

摘 要 作为智能原生操作系统 DingOS 的核心技术之一&#xff0c;Guineration 生成式 UI 体系深刻践行了 DingOS“服务定义软件”的核心理念。DingOS 以“一切皆服务、服务按需而取、按用付费”为设计宗旨&#xff0c;致力于通过智能原生能力与粒子服务架构&#xff0c;实现资源…

第六届电子通讯与人工智能国际学术会议(ICECAI 2025)

在数字化浪潮中&#xff0c;电子通讯与人工智能的融合正悄然重塑世界的运行逻辑。技术基础的共生关系是这场变革的核心——电子通讯如同“信息高速公路”&#xff0c;通过5G等高速传输技术&#xff0c;将海量数据实时输送至AI系统&#xff0c;使其能够像人类神经系统般快速响应…

解决vscode在任务栏显示白色图标

长久不用&#xff0c;不知道怎么着就显示成白色图标&#xff0c;虽然不影响使用&#xff0c;但是看起来不爽 问了豆包&#xff0c;给了个解决方法&#xff1a; 1、打开隐藏文件&#xff0c; 由于图标缓存文件是隐藏文件&#xff0c;首先点击资源管理器中的 “查看” 菜单&am…

架构思维:构建高并发扣减服务_分布式无主架构

文章目录 Pre无主架构的任务简单实现分布式无主架构 设计和实现扣减中的返还什么是扣减的返还返还实现原则原则一&#xff1a;扣减完成才能返还原则二&#xff1a;一次扣减可以多次返还原则三&#xff1a;返还的总数量要小于等于原始扣减的数量原则四&#xff1a;返还要保证幂等…

uni-app学习笔记九-vue3 v-for指令

v-for 指令基于一个数组来渲染一个列表。v-for 指令的值需要使用 item in items 形式的特殊语法&#xff0c;其中 items 是源数据的数组&#xff0c;而 item 是迭代项的别名&#xff1a; <template><view v-for"(item,index) in 10" :key"index"…

MAC电脑中右键后复制和拷贝的区别

在Mac电脑中&#xff0c;右键菜单中的“复制”和“拷贝”操作在功能上有所不同&#xff1a; 复制 功能&#xff1a;在选定的位置创建一个与原始文件相同的副本。快捷键&#xff1a;CommandD用于在当前位置快速复制文件&#xff0c;CommandC用于将内容复制到剪贴板。效果&…