Android 获取手机唯一标识(仅限IMEI)

1: 自行导入compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar' 权限的框架

https://github.com/tbruyelle/RxPermissions

直接代码(Koglin): 

 private fun getImeiNUmber() {    RxPermissions(this).request(Manifest.permission.READ_PHONE_STATE).subscribe() {        if (it) {            val TelephonyMgr = getSystemService(TELEPHONY_SERVICE) as TelephonyManager            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {//28++(8.0)                val IMEI1 = TelephonyMgr.getImei(0)                val IMEI2 = TelephonyMgr.getImei(1)                val MEID = TelephonyMgr.meid                LogUtils.i("设备(28++(8.0))MEID: $IMEI1,$IMEI2,$MEID")            } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {//23~27(6.0~7.0)                val MEID = TelephonyMgr.getDeviceId()                val IMEI1 = TelephonyMgr.getDeviceId(0)                val IMEI2 = TelephonyMgr.getDeviceId(1)                LogUtils.i("设备(23~27(6.0~7.0))IMEI1: $IMEI1,IMEI2: $IMEI2,MEID: $MEID")            } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) {//21~22(5.0)                val method = TelephonyMgr.javaClass.getMethod("getDeviceId", Int::class.javaPrimitiveType)                val meid = TelephonyMgr.getDeviceId()                val imei1 = method.invoke(TelephonyMgr, 1) as String                val imei2 = method.invoke(TelephonyMgr, 2) as String                LogUtils.i("设备(21~22(5.0))->imei1:$imei1,imei2:$imei2,meid:$meid")            } else {//21--(5.0以下)                val DriverID = TelephonyMgr.getDeviceId()                LogUtils.i("设备(21--(5.0以下))MEID: $DriverID")            }        } else {            LogUtils.i("设备读取IMEI权限没有")        }    }}

 

更多相关文章

  1. 解决Could not find method android() for arguments问题
  2. Android存储权限
  3. android:screenOrientation的说明
  4. ANDROID获取设备ID、型号及其它信息
  5. 【Android游戏开发二十一】Android(安卓)os设备谎言分辨率的解决
  6. android的ORMLite的sqlite自定义框架
  7. eclipse导入的Android项目没有android.jar包并报错
  8. android横屏竖屏
  9. Android项目从eclipse迁移到Android(安卓)Studio

随机推荐

  1. springmvc服务端+android客户端的文件上
  2. Android中获取SQL Server中的数据
  3. Android安装过程
  4. android ScrollView--Linearlayout可以上
  5. 【android之ADB命令】ADB SHELL 命令乱码
  6. Android利用Ksoap2连接webservice 源码
  7. ubuntu 搭建android编译环境
  8. android > 获取 通讯录 信息
  9. android 音效
  10. android添加各种权限整理