Android 代码实现国内和国外的区分
说实话,要Android手机区分国内还是国外的方法有很多种,我现在就说几种大家都耳熟能详的方法,比如说,根据地图的经纬度来区分国内外,还有根据手机上的语言来区分国内外(这个区分方式是有一点牵强的,因为在中国的,也可以切换输入法,那我怎样判断出来呢)等等,现在我们说一下,第二种区分方式,直接上代码:
/** * 判断国家是否是国内用户 * *方法一 * * @return */ public static boolean isCN(Context context) {TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); String countryIso = tm.getSimCountryIso(); boolean isCN = false;//判断是不是大陆 if (!TextUtils.isEmpty(countryIso)) {countryIso = countryIso.toUpperCase(Locale.US); if (countryIso.contains("CN")) {isCN = true; }}return isCN; }/** * 方法二 */ /** 查询手机的 MCC+MNC */ private static String getSimOperator(Context c) {TelephonyManager tm = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE); try {return tm.getSimOperator(); } catch (Exception e) {}return null; }/** 因为发现像华为Y300,联想双卡的手机,会返回 "null" "null,null" 的字符串 */ private static boolean isOperatorEmpty(String operator) {if (operator == null) {return true; }if (operator.equals("") || operator.toLowerCase(Locale.US).contains("null")) {return true; }return false; }/** 判断是否是国内的 SIM 卡,优先判断注册时的mcc */ public static boolean isChinaSimCard(Context c) {String mcc = getSimOperator(c); if (isOperatorEmpty(mcc)) {return false; } else {return mcc.startsWith("460"); } }
Android 代码实现国内和国外的区分相关推荐
- Android 大牛 国内、国外Android开发者博客
下面这些内容是 @Trinea大神汇总的国内.国外Android开发者博客. 国内开发者汇总:android-cn/android-dev-cn · GitHub 邓凡平 Innost的专栏 魏祝林 ...
- 第001天:第一行Android代码
1.1 了解全貌--Android王国简介 Android从面世以来到现在已经发布了二十几个版本了.在这几年的发展过程中,谷歌为 Android王国建立了一个完整的生态系统.手机厂商.开发者.用 ...
- 开发常用镜像资源替换为国内开源镜像(yum,compose,maven,docker,android sdk,npm,国内开源镜像汇总)...
一.国内开源镜像站点汇总 阿里云开源镜像站 (http://mirrors.aliyun.com/) 网易开源镜像站 (http://mirrors.163.com/) 中国科学技术大学开源镜像站 ( ...
- 如何写出低碳环保的Android代码
声明:本文CSDN作者原创投稿文章,未经许可禁止任何形式的转载. 作者:徐鸿福,多年后端及移动端开发经验,现任MaxLeap UX团队成员,主要从事于Android相关开发,目前对Kotlin和Ru ...
- 如何编写低碳环保的 Android 代码
如何写出低碳环保的 Android 代码 随着环境问题越来越严重,人们越来越重视低碳环保的生活方式.作为码农的我们自然也应该为环保做出应有的贡献.那么什么是低碳环保,简而言之就是就是低能量.低消耗.低 ...
- 【转载】如何写出低碳环保的 Android 代码
如何写出低碳环保的 Android 代码 随着环境问题越来越严重,人们越来越重视低碳环保的生活方式.作为码农的我们自然也应该为环保做出应有的贡献.那么什么是低碳环保,简而言之就是就是低能量.低消耗.低 ...
- 编写高效的Android代码
编写高效的Android代码 转自:http://www.chinaup.org/docs/toolbox/performance.html 介绍 对于如何判断一个系统的不合理,这里有两个基本的原则: ...
- Android开发笔记(七十一)区分开发模式和上线模式
为什么要区分两种模式 许多开发者(包括博主在内)都是闷骚的程序员,为了开发调试方便,常常在代码里加上日志,还经常在页面上各种弹窗提示.这固然有利于发现bug.提高软件质量,但过多的调试信息往往容易泄露 ...
- Android代码规约
Android代码规约 写在前面的话 对软件来说,适当的规范和标准绝不是消灭代码内容的创造性.优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,高效协作即降低协同成本.所谓无 ...
最新文章
- mysql 分页查询时,如何正确的获取总数
- [bzoj2288][pojChallenge]生日礼物【贪心+堆+链表】
- excel数据库_中琅条码打印软件数据库连接详解
- 前端学习(1579):React使用步骤
- C++处理一个动态规划的问题
- springCloud - 第11篇 - Eureka 注册中心集群的实现
- MYSQL性能调优及架构设计学习笔记-影响MYSQL性能的相关因素之实例分析
- 【JavaScript】Canvas绘图整理
- STM32F407+CubeMX-使用TIM计算编码器的脉冲总数,并计算脉冲方向
- pdf打印显示spoolsv.exe-应用程序错误的原因和解决方法
- 【汇编语言与计算机系统结构笔记17】MIPS 汇编初步
- ndarray、array、asarray的区别以及查看变量地址、is和==的区别
- iOS的QuickTime Plugin
- Ubuntu1804安装STM32CubeIDE出现的冲突
- oracle 分组随机抽取,Oracle随机抽取记录的方法是什么呢?
- flac格式如何转mp3?
- 在工作中历练思考力,行动力,表达力
- Zynq-PS-SDK(4) 之 GIC 配置
- 预防新型冠状病毒感染的肺炎口罩使用指南
- 如何才能增强产品的黏性?