android - Android Studio 错误 - 在 ComponentName 类型的可空接收器上只允许安全 (?.) 或非空断言 (!!.) 调用?
问题描述
如果有人可以帮助我解决以下问题,我将不胜感激。
我正在尝试在 android studio 中构建 APK 并收到错误消息。
错误:
e: D:\WT\ZY\3.0\app\src\main\java\com\app\zy\cameraX\cameraxbasic\utils\Utils.kt: (117, 34): Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type ComponentName?
这段代码是:
fun isAppIsInBackground(context: Context): Boolean {
var isInBackground = true
val am = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT_WATCH) {
val runningProcesses = am.runningAppProcesses
for (processInfo in runningProcesses) {
if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
for (activeProcess in processInfo.pkgList) {
if (activeProcess == context.packageName) {
isInBackground = false
}
}
}
}
} else {
val taskInfo = am.getRunningTasks(1)
val componentInfo = taskInfo[0].topActivity
if (componentInfo.packageName == context.packageName) {
isInBackground = false
}
}
错误线是
if (componentInfo.packageName == context.packageName) {
感谢有人可以帮助我解决这个问题。
谢谢
解决方案
您可以将 If 子句更改为
if (componentInfo != null && componentInfo.packageName == context.packageName)
推荐阅读
- javascript - 过滤器和映射与减少
- ios - Xcode 12 重新启动后丢失选项卡
- rpa - 如何使用 Ui 路径选择网页中的元素 - 不是通过鼠标单击
- javascript - 如何为 Kendo UI jQuery 的电子表格重新加载数据?
- java - 你能填充一个列表吗
在用户定义的构造函数中? - sorting - 用于基数排序算法的基数大小在实践中是否重要?
- html - 如何查看导航栏中的按钮?
- c# - VS2017 Web Services 参数获取对象未设置错误
- facebook - 为什么某些广告没有按 link_url_asset 分解
- css - 如何将图像放在两者中
和 在离子