权限

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

安卓6.0需动态获取权限:Android 6.0及以上版本动态申请权限_meixi_android的博客-CSDN博客

获取设备ID

方法1

private String getAndroidId(){String m_szAndroidID = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);return m_szAndroidID;
}
deviceId = Settings.System.getString(sInstance.getContentResolver(), Settings.Secure.ANDROID_ID);

方法2

String serialNum = android.os.Build.SERIAL;

方法3

String model = "";
TelephonyManager tm = (TelephonyManager) getSystemService(Activity.TELEPHONY_SERVICE);if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {// TODO: Consider calling//    ActivityCompat#requestPermissions// here to request the missing permissions, and then overriding//   public void onRequestPermissionsResult(int requestCode, String[] permissions,//                                          int[] grantResults)// to handle the case where the user grants the permission. See the documentation// for ActivityCompat#requestPermissions for more details.return;
}
model = tm.getDeviceId();
Log.i("lgq","ssssssssssss===== "+model);

方法4:

private String getImei(){TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);String szImei = TelephonyMgr.getDeviceId();return szImei;
}

Android 系统 5.0 以下的。方法3/4无效

结果是:

11-05 16:38:46.860 17570-17570/com.tianxin.jifei I/lgq: ssssssssssss===== 862266036040933

获取联网方式:

String access = "";
ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo netWorkInfo = connectionManager.getActiveNetworkInfo();
access = netWorkInfo.getTypeName();Log.i("lgq","ssssssssssss===== "+access);

结果是:

11-05 16:52:49.300 18844-18844/com.tianxin.jifei I/lgq: ssssssssssss===== WIFI

11-05 16:53:02.106 19425-19425/com.tianxin.jifei I/lgq: ssssssssssss===== MOBILE

获取操作系统版本:

/获取操作系统版本String osVersion = "";osVersion = android.os.Build.VERSION.RELEASE;

获取运营商:

String providersName = "";
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {// TODO: Consider calling//    ActivityCompat#requestPermissions// here to request the missing permissions, and then overriding//   public void onRequestPermissionsResult(int requestCode, String[] permissions,//                                          int[] grantResults)// to handle the case where the user grants the permission. See the documentation// for ActivityCompat#requestPermissions for more details.return;
}
String IMSI = telephonyManager.getSubscriberId();
if (IMSI != null) {if (IMSI.startsWith("46000") || IMSI.startsWith("46002") || IMSI.startsWith("46007")) {providersName = "中国移动";} else if (IMSI.startsWith("46001") || IMSI.startsWith("46006")) {providersName = "中国联通";} else if (IMSI.startsWith("46003")) {providersName = "中国电信";} else {providersName = "其他";}
} else {providersName = "无法获取运营商信息";
}

手机厂商:

String ss= android.os.Build.MANUFACTURER;

附:

android.os.Build.BOARD:获取设备基板名称
android.os.Build.BOOTLOADER:获取设备引导程序版本号
android.os.Build.BRAND:获取设备品牌
android.os.Build.CPU_ABI:获取设备指令集名称(CPU的类型)
android.os.Build.CPU_ABI2:获取第二个指令集名称
android.os.Build.DEVICE:获取设备驱动名称
android.os.Build.DISPLAY:获取设备显示的版本包(在系统设置中显示为版本号)和ID一样
android.os.Build.FINGERPRINT:设备的唯一标识。由设备的多个信息拼接合成。
android.os.Build.HARDWARE:设备硬件名称,一般和基板名称一样(BOARD)
android.os.Build.HOST:设备主机地址
android.os.Build.ID:设备版本号。
android.os.Build.MODEL :获取手机的型号 设备名称。
android.os.Build.MANUFACTURER:获取设备制造商
android:os.Build.PRODUCT:整个产品的名称
android:os.Build.RADIO:无线电固件版本号,通常是不可用的 显示unknown
android.os.Build.TAGS:设备标签。如release-keys 或测试的 test-keys 
android.os.Build.TIME:时间
android.os.Build.TYPE:设备版本类型  主要为"user" 或"eng".
android.os.Build.USER:设备用户名 基本上都为android-build
android.os.Build.VERSION.RELEASE:获取系统版本字符串。如4.1.2 或2.2 或2.3等
android.os.Build.VERSION.CODENAME:设备当前的系统开发代号,一般使用REL代替
android.os.Build.VERSION.INCREMENTAL:系统源代码控制值,一个数字或者git hash值
android.os.Build.VERSION.SDK:系统的API级别 一般使用下面大的SDK_INT 来查看
android.os.Build.VERSION.SDK_INT:系统的API级别 数字表示

获取系统语言

Locale locale = Locale.getDefault();
Log.e("lgq","..... "+locale.getCountry().toLowerCase());
Log.e("lgq","..... "+locale.getLanguage());
Log.e("lgq","..... "+locale);

获取时区

//获取当前时区
public static int getTzSec() {Date date = new Date();//取得本地时间Calendar cal = Calendar.getInstance();//取得时间偏移量int offset = cal.get(Calendar.ZONE_OFFSET) / (1000 * 60 * 60);//取得夏令时差int dstOffset = cal.get(Calendar.DST_OFFSET) / (1000 * 60 * 60);//从本地时间里扣除这些变量,即可以取得UTC时间cal.add(Calendar.MILLISECOND, -(offset + dstOffset));cal.add(Calendar.HOUR, -(offset + dstOffset));Long timeStampUTC = cal.getTimeInMillis();Long timeStamp = date.getTime();Long timeZone = (timeStamp - timeStampUTC) / (1000 * 3600);return timeZone.intValue();
}

Android 获取设备ID,手机厂商,运营商,联网方式,获取系统语言,获取时区相关推荐

  1. android 使用kotlin 获取设备id

    在 Android 中,获取设备的唯一标识符是一项常见的任务.以下是使用 Kotlin 语言获取设备 ID 的步骤: 1. 在 AndroidManifest.xml 文件中添加以下权限: <u ...

  2. Android获取本机电话号码及运营商信息

    电话管理器TelephonyManager可访问电话服务信息,包括电话号码.运营商信息.wifi状态等.一些电话信息需要相应的权限,具体可以看API文件中TelephonyManager方法的说明. ...

  3. Android获取设备ID号

    Android获取设备ID号 Android有多种方式可以获取设备ID,但是每一种总会有一点限制,为此,整合几种方式在一起,这样就万无一失了 public class DeviceIdFactory ...

  4. android更改运营商名称,如何把手机左上角运营商名称改为个性化图标或者文字...

    大家都知道,如果我们插入手机SIM卡的话,手机左上角都会显示相应的运营商名称,而有的人喜欢把这些官方的老套字修改成个性化图标或者文字,那么如何修改呢? 安卓手机修改 如果手机越狱,那么很容易修改.小米 ...

  5. IOS——获取当前运营商(获取漫游接入网络的运营商)

    这个问题坑了很久了,终于搞定了 -.-||| 如果使用CoreTelephony.framework 框架,获取的仅仅是Sim卡的运营商(而且还不成功!carrier.name属性为Carrier,坑 ...

  6. 工具篇——DeviceIDUtil(获取设备ID)

    写代码的四点: 1.明确需求.要做什么? 2.分析思路.要怎么做?(1,2,3--) 3.确定步骤.每一个思路要用到哪些语句.方法和对象. 4.代码实现.用具体的语言代码将思路实现出来. 学习新技术的 ...

  7. IOS获取设备 ID

    iOS获取设备 ID 命令行方式 $ xcrun simctl list 1 这行命令会列出你的所以模拟器信息,里面有类似 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 的 ...

  8. ios 设备获取idfa_iOS获取设备ID总结

    iOS获取设备ID总结 UDID 简介:UDID的全称是Unique Device Identifier,顾名思义,它就是苹果IOS设备的唯一识别码,它由40个字符的字母和数字组成.在很多需要限制一台 ...

  9. 乐视手机加码运营商渠道

    日前,中国电信与乐视生态宣布,将共同推出乐视手机电信版,并在智能终端.宽带业务.品牌联合宣传等领域建立战略合作伙伴关系.这也是乐视在运营商渠道方面下的又一城. 据介绍,在手机终端方面,双方会在渠道.产 ...

最新文章

  1. iOS 异形tabBar, 中间item凸起
  2. i+=1和i=i+1是否完全等价
  3. Surf算法学习心得(一)——算法原理
  4. PHP/TP5 接口设计中异常处理
  5. 前端开发使用工具 gulp
  6. python读取上一级文件夹下的图片
  7. 如何使用T-SQL生成随机SQL Server测试数据
  8. CentOS 7 搭建GlusterFS
  9. 在Python中使用设置文件的最佳做法是什么? [关闭]
  10. 【系统分析师之路】系统分析师冲刺习题集(企业信息化)
  11. Astah Professional UML 建模工具2022版
  12. java使用oshi获取硬件信息,包括cpu温度
  13. iPhone前置排线教程
  14. 转page类事件执行顺序
  15. QT 自定义加载等待(Loading)提示框
  16. python语句print(0xa+0xb)_Python语句print(0xA+0xB)的输出结果为()
  17. PR-AE-C4D 视频编辑工具的下载地址
  18. vue获取当前时间并时时刷新
  19. java中void和int的意思_c语言void和int的区别
  20. 机器学习笔记入门 (六)训练自己的数据

热门文章

  1. 前端学习(2612):vuex实现计算
  2. 前端学习(2608):vuex的介绍
  3. 前端学习(2006)vue之电商管理系统电商系统之绘制商品参数的复选框
  4. 前端学习(1049):todolist正在进行和已经完成阶段2
  5. 前端学习(527):等分布局第二种方案
  6. mybatis学习(14):log4j:ERROR Category option 1 not a decimal integer.
  7. 第五十期:详解语音识别技术的发展
  8. 串口字符传输时间计算
  9. 编写高效的PyTorch代码技巧(上)
  10. Saltstack_使用指南17_salt-ssh