有些时候我们不想App在模拟器上被别人使用,所以我们禁止在模拟器上使用App

判断是否为真机:
根据以下四图,我们可以对真机与模拟器来做一个简单区分:
如果Serial码为unkonwn或者android 则肯定是模拟器了.这里我只是做了官方模拟器与夜神模拟器的检测,其它模拟器暂时没有做测试.

     /*** 功能描述:判断当前设备是否为模拟器* 参数:*/public static boolean isEmulator() {//获取手机的Serial码String serial = Build.SERIAL;if (serial.equalsIgnoreCase("unknown") || serial.equalsIgnoreCase("android")) {return true;}return false;}

官方模拟器

夜神模拟器

无卡LG5X真机

有卡LG5X真机

获取手机设备的一些信息:

        StringBuilder sb = new StringBuilder();//获取手机的Serial码String serial = Build.SERIAL;sb.append("Serial码:").append(serial).append("\n");//获取手机的android_id号String androidId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);sb.append("Android_id:").append(androidId).append("\n");//获取手机的Mac地址WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);WifiInfo info = wifiManager.getConnectionInfo();String macAddress = info.getMacAddress();sb.append("MAC Address:").append(macAddress).append("\n");Context context = getWindow().getContext();TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);//获取手机的设备IdString deviceId = telephonyManager.getDeviceId();sb.append("DeviceId:").append(deviceId).append("\n");//获取手机号String phoneNumber = telephonyManager.getLine1Number();sb.append("phoneNumber:").append(phoneNumber).append("\n");//获取手机的运营商String ProvidersName = "N/A";try {String IMSI = telephonyManager.getSubscriberId();// IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。System.out.println(IMSI);if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {ProvidersName = "中国移动";} else if (IMSI.startsWith("46001")) {ProvidersName = "中国联通";} else if (IMSI.startsWith("46003")) {ProvidersName = "中国电信";}} catch (Exception e) {e.printStackTrace();}sb.append("运营商:").append(ProvidersName).append("\n");return sb.toString();

Android获取手机设备信息并区分真机与模拟器相关推荐

  1. Android 获取手机设备信息:名称、型号、系统版本号、厂商、设备制造商、SDK版本、系统语言等等

    常用的设备信息获取方法: /*** 设备名称** @return 设备名称*/public static String getDeviceName() {return android.os.Build ...

  2. Android 获取手机设备信息(厂商,型号等)

    public class DeviceUtils {/*** 获取当前手机系统语言.** @return 返回当前系统语言.例如:当前设置的是"中文-中国",则返回"zh ...

  3. android获取设备的型号,Android获取手机设备信息

    Android的设备信息获取很简单,导入android.os.Build,在Build类 中有你需要的所有信息. 如果如要经常查阅,可以收藏此文章,需要时点开看一看 下面我打印了一些信息,查查单词的中 ...

  4. Android中获取手机设备信息、RAM、ROM存储信息,如宽、高、厂商名、手机品牌

    借鉴:https://www.jianshu.com/p/ca869aa2fd72 今天有两个工具类总结,代码里都有注释,直接看代码. 一.首先第一个,主要获取手机设备信息DeviceInfoUtil ...

  5. android 安卓APP获取手机设备信息和手机号码的代码示例

    下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓手机.手机SIM卡确保插入手机里.eclipse ADT和android-sdk开发环境 第一步:新建一个andro ...

  6. android app 手机号码,android 安卓APP获取手机设备信息和手机号码的代码示例 .

    下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓手机.手机SIM卡确保插入手机里.eclipse ADT和android-sdk开发环境 第一步:新建一个andro ...

  7. android app 手机号码,android 安卓APP获取手机设备信息和手机号码的代码示例

    下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓手机.手机SIM卡确保插入手机里.eclipse ADT和android-sdk开发环境 第一步:新建一个andro ...

  8. js获取PC设备信息,js获取手机设备信息,最全

    获取设备系统和型号<封装方法> <!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  9. Android获取手机设备识别码(IMEI)和手机号码

    最近看了下获取手机设备ID和手机信息以及SIM的信息例子,主要还是借鉴别人的,现在自己写一下,算是巩固加深了,也希望能给大家一个参考 必要的条件还是一部真机,SIM卡或者UIM卡. 首先,在Andro ...

最新文章

  1. Ubuntu默认密码,及其修改
  2. Java Review - 并发编程_抽象同步队列AQS
  3. Java泛型:类型擦除
  4. Qt for Android / ios 将图片或文件打包进安装包中
  5. ITK:计算两个图像之间的均方度量值
  6. Python疑难杂症:SyntaxError: Non-ASCII character Python中文处理问题
  7. leetcode 264. 丑数 II(堆)
  8. oracle升级12.2,Oracle 11.2.0.4升级到12.2.0.1
  9. matlab扫雷代码及运用解释,MATLAB_百科
  10. 酷派大观4 8970 刷android 4.4,酷派5890驱动 酷派 8970L(大观4)recovery卡刷通用刷机教程...
  11. html 加响应头,response发送中文,设置响应头
  12. Python 教程视频汇总
  13. SAP-ABAP-小计收起/折叠明细项目-只显示小计内容
  14. FTTB FTTC FTTH FTTO FSA
  15. FDTD Solutions-边界条件
  16. 登录网站空间无法连接服务器,网站空间打不开的处理办法
  17. 基于运营商的室内定位技术应用及探究--新导智能
  18. 人脸识别检测项目实战
  19. 为魅族M8手机开发的围棋打谱软件(M8WeiqiPu)发布0.8版,多图
  20. 想考个在职研究生学位,IT方向,学校越牛越好的

热门文章

  1. AI for everyone 笔记
  2. CVE-2020-17510: Apache Shiro 权限绕过漏洞通告
  3. rsa算法举例_RSA算法简单实例
  4. 广告活动新模式--手机应用推广和微信关注
  5. linux waitpid实例,【Linux】僵尸进程,孤儿进程以及wait函数,waitpid函数(有样例,分析很详细)...
  6. MOVEWINDOW改变指定窗口的位置和大小
  7. linux使用scp传输文件出现Permission denied解决办法
  8. ootd什么意思,最近流行网络语ootd什么意思,一起来看一下吧
  9. OpenJDK和JDK区别
  10. python十进制小数转二进制小数,从零开始学Python|如何在Python中将小数转换为二进制...