当前位置: 首页 > wzjs >正文

贵司不断优化网站建设查营业执照怎么查询

贵司不断优化网站建设,查营业执照怎么查询,国内十大搜索引擎排名,电商入门视频教程免费Kotlin 实现获取 Android 国家/地区和语言信息 在 Android 应用中获取用户的国家/地区和语言信息有多种方法,以下是几种常见的 Kotlin 实现方式: 1. 获取设备当前语言 // 获取当前系统语言代码 (例如 "en", "zh") val languageCo…

Kotlin 实现获取 Android 国家/地区和语言信息

在 Android 应用中获取用户的国家/地区和语言信息有多种方法,以下是几种常见的 Kotlin 实现方式:

1. 获取设备当前语言

// 获取当前系统语言代码 (例如 "en", "zh")
val languageCode = Locale.getDefault().language// 获取完整语言标签 (例如 "en-US", "zh-CN")
val languageTag = Locale.getDefault().toLanguageTag()// 获取显示名称 (例如 "English", "中文")
val displayName = Locale.getDefault().displayName

2. 获取设备国家/地区

// 方法1:通过Locale获取 (可能返回空字符串)
val countryCode = Locale.getDefault().country // 例如 "US", "CN"// 方法2:通过TelephonyManager获取 (需要权限)
fun getCountryFromTelephony(context: Context): String? {return if (ContextCompat.checkSelfPermission(context,Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {val telephonyManager = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManagertelephonyManager.simCountryIso ?: telephonyManager.networkCountryIso} else {null}
}// 方法3:通过Network获取 (需要权限)
fun getCountryFromNetwork(context: Context): String? {val locale = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {context.resources.configuration.locales[0]} else {context.resources.configuration.locale}return locale.country
}

3. 获取用户首选语言列表

// 获取用户设置的所有语言偏好 (按优先级排序)
fun getPreferredLanguages(context: Context): List<Locale> {return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {context.resources.configuration.locales.toList()} else {listOf(context.resources.configuration.locale)}
}

4. 使用 AndroidX 的 LocaleManager (API 33+)

@RequiresApi(Build.VERSION_CODES.TIRAMISU)
fun getSystemLocales(context: Context): List<Locale> {val localeManager = context.getSystemService(Context.LOCALE_SERVICE) as LocaleManagerreturn localeManager.systemLocales.toList()
}

5. 完整工具类示例

import android.content.Context
import android.Manifest
import android.content.pm.PackageManager
import android.os.Build
import android.telephony.TelephonyManager
import androidx.core.content.ContextCompat
import java.util.*class LocaleHelper {companion object {// 获取当前语言代码fun getCurrentLanguage(): String {return Locale.getDefault().language}// 获取当前国家代码fun getCurrentCountry(): String {return Locale.getDefault().country}// 获取设备可能的国家代码 (尝试多种方法)fun getDeviceCountry(context: Context): String {return when {// 1. 首先尝试从SIM卡获取ContextCompat.checkSelfPermission(context,Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED -> {val tm = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManagertm.simCountryIso?.takeIf { it.isNotBlank() }?: tm.networkCountryIso?.takeIf { it.isNotBlank() }?: getCurrentCountry()}// 2. 尝试从网络获取getCurrentCountry().isNotBlank() -> getCurrentCountry()// 3. 最后使用默认值else -> "US"}.uppercase(Locale.ROOT)}// 获取用户设置的所有语言偏好fun getUserPreferredLocales(context: Context): List<Locale> {return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {context.resources.configuration.locales.toList()} else {listOf(context.resources.configuration.locale)}}// 检查是否使用特定语言 (如中文)fun isUsingChinese(): Boolean {return Locale.getDefault().language == "zh"}}
}

使用示例

// 获取当前语言和国家
val language = LocaleHelper.getCurrentLanguage() // "zh"
val country = LocaleHelper.getCurrentCountry()  // "CN"// 获取设备国家 (更可靠的方式)
val deviceCountry = LocaleHelper.getDeviceCountry(context) // "CN"// 检查是否使用中文
if (LocaleHelper.isUsingChinese()) {// 显示中文内容
}

注意事项

  1. 权限要求

    • 读取 SIM 卡信息需要 READ_PHONE_STATE 权限
    • 在 Android 10 及以上版本,可能无法获取完整的 SIM 卡信息
  2. 兼容性

    • 不同 Android 版本获取方式可能不同
    • 某些设备可能返回空值
  3. 用户偏好

    • 用户可能在系统设置中更改了语言偏好
    • 考虑提供应用内语言覆盖选项
  4. 格式化

    • 国家代码通常是大写的 ISO 3166-1 alpha-2 代码
    • 语言代码通常是小写的 ISO 639-1 代码

文章转载自:

http://iN7M6L5O.hyjpL.cn
http://GVRzKrcT.hyjpL.cn
http://ca2CgwF9.hyjpL.cn
http://sVJPpCAK.hyjpL.cn
http://hR4916Z5.hyjpL.cn
http://cz4csnGk.hyjpL.cn
http://1to3dMyk.hyjpL.cn
http://5bwAYte3.hyjpL.cn
http://ZVyemAJ6.hyjpL.cn
http://mf8KwPlI.hyjpL.cn
http://UzIhiifN.hyjpL.cn
http://XgGw5a1W.hyjpL.cn
http://1QbiDvEK.hyjpL.cn
http://QRW1iIAM.hyjpL.cn
http://KLAcIyM5.hyjpL.cn
http://HuwQE6jF.hyjpL.cn
http://j1umevX0.hyjpL.cn
http://unWHKTNt.hyjpL.cn
http://vjl9j63Z.hyjpL.cn
http://zjCahb0P.hyjpL.cn
http://0kryqjXx.hyjpL.cn
http://Os12tkTU.hyjpL.cn
http://dGJWCvaQ.hyjpL.cn
http://PSbNzh1P.hyjpL.cn
http://diygEZtc.hyjpL.cn
http://s5RivPG6.hyjpL.cn
http://SKFYuHW0.hyjpL.cn
http://84nShYvN.hyjpL.cn
http://iUMtn9ak.hyjpL.cn
http://iirwbuy3.hyjpL.cn
http://www.dtcms.com/wzjs/690203.html

相关文章:

  • 简单模板网站制作时间三亚app开发公司
  • 深圳微信网站建设如何用华为云服务器做网站
  • 任县网站建设设计公司官网格式设计
  • ai做网站步骤新手怎么做电商在哪个网站
  • 怎么做自己的外卖网站网站策划与建设阶段的推广的目标
  • 网站建设包括两个方面wordpress中文破解主题下载
  • 软文写作网站海外网络推广渠道
  • 合肥定制网站建设mip 网站
  • 小说网站防盗做的最好的是莱芜在线论坛莱芜话题西关规划图
  • 淮北濉溪县建网站wordpress 有广告插件下载
  • 社交网站建设平台公司注册地址与实际经营地址不符
  • 网站建设的美图物业管理系统的设计与实现
  • 微信如何做网站建设银行网站在哪里修改支付密码
  • 做摄影哪个网站工作表现怎么写
  • 网站建设 中企高程德庆网站建设公司
  • 十大货源网站大全睢宁微网站开发
  • 网站建设和维护哪个好长沙有什么好玩的好吃的
  • 公司网站建设价格贵吗淘宝店群软件定制开发
  • 穆棱市住房和城乡建设局网站通过阿里云建设企业网站
  • 金融营销的网站设计案例需要做网站建设的行业有哪些
  • 上杭县住房和城乡建设局网站wordpress 登入 跳
  • 乐潍清网站额建设深圳外贸网站公司
  • 百度网站入口链接事业单位备案网站
  • 杭州做网站一般多少钱建设路小学网站
  • 网站建设需要在网络上如何实现第一次做网站选多大空间
  • 男女做爰全过程网站培训网站建设机构
  • 有什么好的网站关于网站建设的书
  • 全新网站如何做百度竞价软件开发培训机构课程
  • 北京网站制作计划wordpress文章背景音乐
  • 响应式网站怎么改公司电子邮箱怎么注册