说实话,要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 代码实现国内和国外的区分相关推荐

  1. Android 大牛 国内、国外Android开发者博客

    下面这些内容是 @Trinea大神汇总的国内.国外Android开发者博客. 国内开发者汇总:android-cn/android-dev-cn · GitHub 邓凡平 Innost的专栏 魏祝林 ...

  2. 第001天:第一行Android代码

    1.1    了解全貌--Android王国简介 Android从面世以来到现在已经发布了二十几个版本了.在这几年的发展过程中,谷歌为 Android王国建立了一个完整的生态系统.手机厂商.开发者.用 ...

  3. 开发常用镜像资源替换为国内开源镜像(yum,compose,maven,docker,android sdk,npm,国内开源镜像汇总)...

    一.国内开源镜像站点汇总 阿里云开源镜像站 (http://mirrors.aliyun.com/) 网易开源镜像站 (http://mirrors.163.com/) 中国科学技术大学开源镜像站 ( ...

  4. 如何写出低碳环保的Android代码

    声明:本文CSDN作者原创投稿文章,未经许可禁止任何形式的转载.  作者:徐鸿福,多年后端及移动端开发经验,现任MaxLeap UX团队成员,主要从事于Android相关开发,目前对Kotlin和Ru ...

  5. 如何编写低碳环保的 Android 代码

    如何写出低碳环保的 Android 代码 随着环境问题越来越严重,人们越来越重视低碳环保的生活方式.作为码农的我们自然也应该为环保做出应有的贡献.那么什么是低碳环保,简而言之就是就是低能量.低消耗.低 ...

  6. 【转载】如何写出低碳环保的 Android 代码

    如何写出低碳环保的 Android 代码 随着环境问题越来越严重,人们越来越重视低碳环保的生活方式.作为码农的我们自然也应该为环保做出应有的贡献.那么什么是低碳环保,简而言之就是就是低能量.低消耗.低 ...

  7. 编写高效的Android代码

    编写高效的Android代码 转自:http://www.chinaup.org/docs/toolbox/performance.html 介绍 对于如何判断一个系统的不合理,这里有两个基本的原则: ...

  8. Android开发笔记(七十一)区分开发模式和上线模式

    为什么要区分两种模式 许多开发者(包括博主在内)都是闷骚的程序员,为了开发调试方便,常常在代码里加上日志,还经常在页面上各种弹窗提示.这固然有利于发现bug.提高软件质量,但过多的调试信息往往容易泄露 ...

  9. Android代码规约

    Android代码规约 写在前面的话 对软件来说,适当的规范和标准绝不是消灭代码内容的创造性.优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,高效协作即降低协同成本.所谓无 ...

最新文章

  1. mysql 分页查询时,如何正确的获取总数
  2. [bzoj2288][pojChallenge]生日礼物【贪心+堆+链表】
  3. excel数据库_中琅条码打印软件数据库连接详解
  4. 前端学习(1579):React使用步骤
  5. C++处理一个动态规划的问题
  6. springCloud - 第11篇 - Eureka 注册中心集群的实现
  7. MYSQL性能调优及架构设计学习笔记-影响MYSQL性能的相关因素之实例分析
  8. 【JavaScript】Canvas绘图整理
  9. STM32F407+CubeMX-使用TIM计算编码器的脉冲总数,并计算脉冲方向
  10. pdf打印显示spoolsv.exe-应用程序错误的原因和解决方法
  11. 【汇编语言与计算机系统结构笔记17】MIPS 汇编初步
  12. ndarray、array、asarray的区别以及查看变量地址、is和==的区别
  13. iOS的QuickTime Plugin
  14. Ubuntu1804安装STM32CubeIDE出现的冲突
  15. oracle 分组随机抽取,Oracle随机抽取记录的方法是什么呢?
  16. flac格式如何转mp3?
  17. 在工作中历练思考力,行动力,表达力
  18. Zynq-PS-SDK(4) 之 GIC 配置
  19. 预防新型冠状病毒感染的肺炎口罩使用指南
  20. 如何才能增强产品的黏性?

热门文章

  1. 刷脸支付实现校园内消费和身份识别
  2. java StopWatch计算耗时毫秒数
  3. spring boot 集成springfox,使用swagger对 API 接口进行测试管理的 demo 示例
  4. stm32之定时器运用———呼吸灯
  5. 简单实现Vue中的虚拟dom
  6. 从入侵到变现——“黑洞”下的黑帽SEO分析 1
  7. getch和ungetch的使用
  8. Wish怎么优化产品最有效?具体做法是什么?
  9. 韦博士粉底液自然修饰 提升女性独有气质
  10. 来了阿里终于知道专科如何进大厂