gpt4 book ai didi

android - 在 Kotlin 中创建非绑定(bind)服务

转载 作者:IT老高 更新时间:2023-10-28 13:34:00 24 4
gpt4 key购买 nike

我正在尝试在 kotlin 中创建一个简单的未绑定(bind)服务,但我做不到。当我在 Java 中重写 onBind() 方法时,我可以返回 null,但在 kotlin 中,它说我只能返回 IBinder 而不能IBinder?,即不能为null。除了将 MyService 类重写为 Java 之外,任何想法如何解决这个问题?

[已解决] 谢谢各位!我真的可以将 IBinder 更改为 IBinder?。有效!!

最佳答案

正如 Enrico 所说,您可以将 IBinder 的类型更改为 IBinder?,它仍然会匹配接口(interface)。

一个例子如下:

override fun onBind(intent: Intent): IBinder? {
return null
}

一般来说,使用 Android Studio 覆盖 Android 方法时要小心。真正的问题出现在系统实际上可以返回空引用时生成非空类型。它会导致您真正没想到的运行时 kotlin 异常。

如果我没记错的话,我在重载 Fragment 类和与 View 创建相关的方法时遇到了很多问题。

关于android - 在 Kotlin 中创建非绑定(bind)服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38492427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com