如何在Android中使用SIM卡获取手机号码使用kotlin语言编程?
我尝试使用下面的一段代码,但它没有给我的数字。 您的信息将是很大的帮助。
代码如下:
val subscription =SubscriptionManager.from(context).activeSubscriptionInfoList for (subscriptionInfo in subscription) { val number = subscriptionInfo.number Log.e("Test", " Number is " + number) }
采取从这个答案和翻译到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
请注意, 有些设备由于其内部实施而无法返回电话号码 。
- Kotlin + Dagger2:不能提供没有@Inject构造函数或从@提供或@产生注释的方法
- Dagger2不会生成Dagger类
- Android Kotlin:TextView.text无法正常工作
- com.android.builder.dexing.DexArchiveMergerException:无法在运行时合并dexexception
- 如何合并一些spannable对象?
- Android – 在Kotlin中声明和使用视图
- Kotlin的@Parcelize在writeToParcel()上抛出NPE
- Kotlin-android:未解决的引用数据绑定
- Kotlin:如何从另一个课程访问领域?