android - 当应用程序在后台/被杀死时,在 Firebase onMessageReceived 中调用暂停 apiFetch 请求
问题描述
我正在使用 Firebase 通知从服务器获取更改。当数据有任何变化时,服务器会发送 fcm 通知。这是代码:
override fun onMessageReceived(p0: RemoteMessage) {
val res = p0.data
val noti = p0.notification
val id: String? = res["id"]
val title: String? = noti.title
val body: String? = noti.body
id.toInt().let {
GlobalScope.launch(Dispatchers.IO) {
try {
var isActive = true
res["is_active"].let{st->
st?.let{act->
if(act == "false"){
isActive = false
}
}
}
projRepo.roomChangeActiveStatus(it, isActive)
} catch (e: java.lang.Exception) {
FirebaseCrashlytics.getInstance().recordException(e)
}
}
}
}
当应用程序处于前台时,代码工作正常,当应用程序处于后台/被杀死时它会显示通知,但当应用程序处于后台/被杀死时它不会调用 GlobalScope 函数。
解决方案
推荐阅读
- gekko - 当我在 python 中运行 APMonitor nlc 示例时出现 HTTP 错误
- swift - 更严格的泛型的扩展功能
- html - 如何使用具有从右到左翻译页面布局(阿拉伯语)的 HTML 实体?
- kotlin - 避免重复相同的逻辑
- javascript - 使用jQuery将json数据转换为pdf
- python - 在 Dash 中下载 csv 文件
- rx-java - 如何在 Micronaut Http Client 中限制并行 http 请求
- tensorflow - 如何最好地使用多巴胺进行强化学习的迁移学习?
- javascript - 如何制作单选按钮切换值
- laravel - Laravel 7 路由未捕获表单 POST 请求