Attempt to invoke virtual method 'boolean android.media.AudioManager.isBluetoothA2dpOn()' on a null object reference

时间:2019-01-07 13:00:11

标签: android android-studio android-fragments voip voip-android

I am getting weird type of Crash in the application, captured during Crash Analytics, even I didn't use the code for Bluetooth devices and didn't used these lines isBluetoothA2dpOn() as well. Furthermore, I couldn't trace the code that from where it has been triggered by the trace logs captured by Crash Analytics. If someone have faced the same issue, than suggest the best answer for that.

at android.view.View.dispatchTouchEvent(View.java:10779)

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.media.AudioManager.isBluetoothA2dpOn()' on a null object reference
       at android.inputmethodservice.KeyboardView.sendAccessibilityEventForUnicodeCharacter(KeyboardView.java:998)
       at android.inputmethodservice.KeyboardView.showPreview(KeyboardView.java:883)
       at android.inputmethodservice.KeyboardView.onModifiedTouchEvent(KeyboardView.java:1301)
       at android.inputmethodservice.KeyboardView.onTouchEvent(KeyboardView.java:1223)
       at android.view.View.dispatchTouchEvent(View.java:10779)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2864)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2491)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2864)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2491)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2864)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2491)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2864)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2491)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2864)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2491)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2864)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2491)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2864)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2491)
       at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:609)
       at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1890)
       at android.app.Activity.dispatchTouchEvent(Activity.java:3240)
       at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(Unknown Source:68)
       at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(Unknown Source:68)
       at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:571)
       at android.view.View.dispatchPointerEvent(View.java:11008)
       at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5155)
       at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5007)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4532)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4585)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4551)
       at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4684)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4559)
       at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4741)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4532)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4585)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4551)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4559)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4532)
       at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7092)
       at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7024)
       at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6985)
       at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7202)
       at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
       at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
       at android.os.MessageQueue.next(MessageQueue.java:323)
       at android.os.Looper.loop(Looper.java:136)
       at android.app.ActivityThread.main(ActivityThread.java:6776)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)

Edited dispatchTouchEvent

    @Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    if (ev.getAction() == MotionEvent.ACTION_DOWN) {
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                if (touchListener != null) {
                    if (!haltRegistration) {
                        touchListener.onTouchEvent();
                    } else {
                        haltRegistration = false;
                    }
                } else {
                    Log.d(TAG, "listener was null...");
                }
            }
        }, 300);

    }
    return super.dispatchTouchEvent(ev);
}

0 个答案:

没有答案