我试着使用下面的代码,但它没有给我数字。你的信息将会有很大帮助。
代码如下:
val subscription =SubscriptionManager.from(context).activeSubscriptionInfoList
for (subscriptionInfo in subscription)
{
val number = subscriptionInfo.number
Log.e("Test", " Number is " + number)
}
发布于 2018-04-19 08:09:12
获取IMEI数字KOTLIN的正确方法
try{
val tm = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
val IMEI = tm.getImei()
if (IMEI != null)
Toast.makeText(this, "IMEI number: " + IMEI,
Toast.LENGTH_LONG).show()
}catch (ex:Exception){
Log.e("",ex.message)
}
包括请求许可
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, android.Manifest.permission.READ_PHONE_STATE)) {
} else { ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.READ_PHONE_STATE), 2) } }
别忘了AndroidManifest.xml
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
发布于 2018-01-12 17:59:35
摘自this answer并翻译成kotlin:
获取电话号码、IMEI和SIM卡ID
val tm = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
For SIM card, use the getSimSerialNumber()
//---get the SIM card ID---
val simID = tm.simSerialNumber
if (simID != null)
Toast.makeText(this, "SIM card ID: " + simID,
Toast.LENGTH_LONG).show()
电话号码,使用getLine1Number() (一些设备不返回电话号码)
//---get the phone number---
val telNumber = tm.line1Number
if (telNumber != null)
Toast.makeText(this, "Phone number: " + telNumber,
Toast.LENGTH_LONG).show()
IMEI number of the phone, use the getDeviceId()
//---get the IMEI number---
val IMEI = tm.deviceId
if (IMEI != null)
Toast.makeText(this, "IMEI number: " + IMEI,
Toast.LENGTH_LONG).show()
Permissions needed
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
请注意,由于内部实现的原因,某些设备无法返回电话号码。
发布于 2022-01-13 07:51:08
目前,您无法根据docs访问这些信息
getSerial()
getImei()
getDeviceId()
getMeid()
getSimSerialNumber()
getSubscriberId()
如果你的应用以Android10或更高版本为目标,就会出现SecurityException
。
如果您的应用程序以Android9(API28级)或更低版本为目标,并且应用程序具有READ_PHONE_STATE
权限,则该方法将返回null
或占位符数据。否则,将发生SecurityException
。
https://stackoverflow.com/questions/48223321
复制相似问题