I am getting this error log on crashlytics. I don't know what makes this crash. It occurs on Android 4.x, 5.x, 6.x devices. (Samsung, Sony, LGE etc.)
Fatal Exception: java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.view.inputmethod.InputConnection.finishComposingText()' on a null object reference
at android.view.inputmethod.InputConnectionWrapper.finishComposingText(InputConnectionWrapper.java:78)
at android.view.inputmethod.InputMethodManager.checkFocusNoStartInput(InputMethodManager.java:1809)
at android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1761)
at android.view.inputmethod.InputMethodManager.isActive(InputMethodManager.java:883)
at android.widget.Editor$CursorAnchorInfoNotifier.updatePosition(Editor.java:4095)
at android.widget.Editor$PositionListener.onPreDraw(Editor.java:2564)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1018)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2313)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1301)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7021)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777)
at android.view.Choreographer.doCallbacks(Choreographer.java:590)
at android.view.Choreographer.doFrame(Choreographer.java:560)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6918)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Make sure the input connection is not null in your onCreateInputConnection override method.
Where MyInputConnectionWrapper is your custom input connection wrapper which is extended from InputConnectionWrapper.
As mentioned here, this can happen because of the
Android Advanced Profiling
tool.Disable it from the
Run/Debug Configurations
dialog:The above answer should be correct, but in my scenario, the reason for this error is: Edittext is having focus, and this error occurs when
edittext.getText()
is used. To avoid this error you must:edittext.gettext().toString();
Note: This edittext must have focus to make this error.Assume the fragment or Activity have a non EditTextView named mTv; At some appropriate time,
mTv.requestFocuse()
; This works for me. Hope this helps you.It also happened to me because of Advanced Profiling option is enabled.
To disable the advanced profiling, follow these steps: