如何解决TelephonyManager 在 Android 10 上崩溃
我在 Crashlytics 中获得了以下堆栈跟踪,适用于各种 android 10 设备。 致命异常:java.lang.NullPointerException 尝试在空对象引用上调用虚拟方法“java.lang.Throwable android.os.ParcelableException.getCause()”
android.telephony.TelephonyManager$1.lambda$onError$2
android.telephony.TelephonyManager$1.lambda$onError$2 (TelephonyManager.java:5346)
android.telephony.-$$Lambda$TelephonyManager$1$DUDjwoHWG36BPTvbfvZqnIO3Y88.run (-.java:6)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167)
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
java.lang.Thread.run (Thread.java:919)
没有参考应用程序的哪一部分导致此问题,但我正在使用 TelephonyManager 获取设备 MCC 和 MNC,如下所示
fun getMCCFromDevice(context: Context): String? {
try {
val tm = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
if (tm != null) {
val networkOperator = tm!!.getNetworkOperator()
if (!TextUtils.isEmpty(networkOperator)) {
return networkOperator.substring(0,3)
}
}
} catch (e: Exception) {
e.printstacktrace()
}
return null
}
fun getMNCFromDevice(context: Context): String? {
try {
val tm = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
if (tm != null) {
val networkOperator = tm!!.getNetworkOperator()
if (!TextUtils.isEmpty(networkOperator)) {
return networkOperator.substring(3) // Extract MNC part
}
}
} catch (e: Exception) {
e.printstacktrace()
}
return null
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。