Android Studio: Problems with WebView.onCreateInputConnectio



我为带有自定义INAPP键盘的某些Android 4.2设备编写了WebView应用程序。实际上,该应用程序在使用Android 4.2的设备上没有任何错误运行。

我知道这是一个非常古老的Android版本,这就是为什么我现在使用Android 7.1.2获得了新设备的原因,但是不幸的是,该应用程序在此设备上不起作用。

在以下代码示例中,我创建了对WebView的输入连接,并假定对我的自定义键盘的引用。这是变成错误的代码:

   val ic = mWebView.onCreateInputConnection(EditorInfo())
    mMyKeyboard.setInputConnection(ic)

对象" mykeyboard"的" setInputConnection"代码

  fun setInputConnection(ic: InputConnection) {
    inputConnection = ic
}

错误消息:

e/androidruntime:致命例外:主要 过程:com.example.aaa.bbb,pid:5012 java.lang.runtimeException:无法启动活动componentInfo {com.example.aaa.aaa.aaa.bbb/com.example.aaa.aaa.aaa.bbb.mainactivity}:java.lang.illang.illegalstateexception:不得null null at android.app.activitythread.performlaunchactivity(activityThread.java:2666) at android.app.activitythread.handlelaunchactivity(activityThread.java:2727) at android.app.ActivityThread.-Wrap12(ActivityThread.java) at android.app.ActivityThread $ H.Handlemessage(activityThread.java:1478) at android.os.handler.dispatchmessage(Handler.java:102) at android.os.looper.loop(looper.java:154) at android.app.activitythread.main(activityThread.java:6123) 在java.lang.reflect.method.invoke(本机方法)上 在com.android.internal.os.os.zygoteinit $ methodandargscaller.run(zygoteinit.java:889) 在com.android.internal.os.os.zygoteinit.main(zygoteinit.java:779) 引起的是:java.lang.illegalstateException:ic不得无效 在com.example.huf.ifsscan.mainactivity.oncreate(MainActivity.kt:59) 在android.app.activity.performcreate(activity.java:6723) at android.app.instrumentation.callactivityoncreate(instrumentation.java:1119) at android.app.activitythread.performlaunchactivity(activityThread.java:2619) at android.app.activitythread.handlelaunchactivity(activityThread.java:2727) at android.app.ActivityThread.-Wrap12(ActivityThread.java) at android.app.ActivityThread $ H.Handlemessage(activityThread.java:1478) at android.os.handler.dispatchmessage(Handler.java:102) at android.os.looper.loop(looper.java:154) at android.app.activitythread.main(activityThread.java:6123) 在java.lang.reflect.method.invoke(本机方法)上 在com.android.internal.os.os.zygoteinit $ methodandargscaller.run(zygoteinit.java:889) 在com.android.internal.os.os.zygoteinit.main(zygoteinit.java:779) E/libegl:validate_display:99错误3008(egl_bad_display)

目前,我不知道为什么会发生这种情况。WebView对象的" onCreateinputConnection"的文档显示应该很好。

Android开发人员|WebView

如果我根据API 19(Android 4.2)或API 25(7.1)进行编译,则没有什么不同。

有人知道问题可能是什么?

预先感谢

似乎我发现了这个问题。

在适用于Android 4.2的应用程序中,上述获取和假设输入连接是" onCreate"函数的一部分。像Android 7.1这样的SEMMS在此工作有所不同,在将指定的代码部分移至" OnPageFined"函数之后,它可以正常工作。

我猜想中的功能中缺少参考。但是我觉得它在以前起作用很奇怪。

相关内容

  • 没有找到相关文章

最新更新