在运行Android 11的摩托罗拉设备上打开键盘时应用程序崩溃

whlutmcx  于 2023-04-10  发布在  Android
关注(0)|答案(2)|浏览(230)

我们正面临着一个问题,摩托罗拉设备运行Android 11。在其他设备上,我们无法重现这个问题,即使在Android 11。我们已经看了UnsupportedOperationException: Tried to obtain display from a Context not associated with one,但该线程是不活跃的,现在我们没有得到任何回应。
该问题似乎与在TextInput字段中打开键盘有关。完整的错误声明如下。

Fatal Exception: java.lang.UnsupportedOperationException

Tried to obtain display from a Context not associated with one. Only visual Contexts (such as Activity or one created with Context#createWindowContext) or ones created with Context#createDisplayContext are associated with displays. Other types of Contexts are typically related to background entities and may return an arbitrary display.
lfapxunr

lfapxunr1#

您使用哪个版本的AppCompat库?如果是1.2.0或更低版本,并且您正在使用此解决方案-〉Change Locale not work after migrate to Androidx切换到1.3.1或更高版本并删除解决方案(正在修复)。目前,1.4.1是最新版本
这解决了完全相同的问题,完全在Android 11上,完全在摩托罗拉上。

qhhrdooz

qhhrdooz2#

作为一种变通方法,您可以在Activity中覆盖onKeyUponKeyDown(不幸的是,我看不到完整的stackTrace,因此我不知道您需要覆盖哪个方法),并在其中返回true/false,如下所示

override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
        return false
    }
    
    override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
        return false
    }

相关问题