在onFilterTouchEventForSecurity上获取NullPointerException [英] Getting NullPointerException at onFilterTouchEventForSecurity

查看:202
本文介绍了在onFilterTouchEventForSecurity上获取NullPointerException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我构建了集成了YouTube API的应用程序,并且运行正常,没有任何崩溃,但是在Fabric上,我检查了一些崩溃原因为ipf.onFilterTouchEventForSecurity.这是崩溃的完整日志:

I have built app in which I integrate YouTube API and it is working fine without any crash but on Fabric I checked some crash whis is ipf.onFilterTouchEventForSecurity. Here is the full logs of the crash:

java.lang.NullPointerException: 
  at ipf.onFilterTouchEventForSecurity(ipf.java:115)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2351)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2844)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2461)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2844)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2461)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2844)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2461)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2876)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2461)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2844)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2519)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2844)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2519)
  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2844)
  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2519)
  at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2840)
  at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1853)
  at android.app.Activity.dispatchTouchEvent(Activity.java:3061)
  at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2801)
  at android.view.View.dispatchPointerEvent(View.java:10246)
  at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5447)
  at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5283)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4721)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4774)
  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4740)
  at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4882)
  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4748)
  at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4939)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4721)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4774)
  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4740)
  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4748)
  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4721)
  at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7429)
  at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7298)
  at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7259)
  at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7539)
  at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
  at android.os.MessageQueue.nativePollOnce(MessageQueue.java:0)
  at android.os.MessageQueue.next(MessageQueue.java:323)
  at android.os.Looper.loop(Looper.java:135)
  at android.app.ActivityThread.main(ActivityThread.java:7325)
  at java.lang.reflect.Method.invoke(Method.java:0)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

我知道这个问题不是由于代码引起的,但我需要防止崩溃.

I know that this issue is not because of code but I need to prevent crashing.

以下是我面临问题的设备列表:

Here is list of devices on which I am facing issue:

  1. 三星Galaxy J7(j7elte),1536MB RAM,Android 6.0
  2. 小米Redmi Note 3(kenzo),2048MB RAM,Android 6.0
  3. 联想TB3-710F(TB3-710F),1024MB RAM,Android 5.0
  4. 小米Redmi 3S(陆地),2048MB RAM,Android 6.0
  5. LeTV Le 2(le_s2_ww),3072MB RAM,Android 6.0
  6. LGE LG Stylus2 4G(ph2),2048MB RAM,Android 6.0
  7. Infocus M2_3G(G10),10124MB RAM,Android 4.4

推荐答案

我无法复制它,但是您可以尝试以下几种操作:

I am not able to reproduce it but there are several things you can try:

如果可能,请尝试将android:filterTouchesWhenObscured=false作为纯文本添加 ="https://developer.android.com/reference/android/R.attr.html#filterTouchesWhenObscured" rel ="nofollow noreferrer">文档:

If possible try adding android:filterTouchesWhenObscured=false as pellucide suggested from the docs:

指定当视图的窗口被遮盖时是否过滤触摸 在另一个可见的窗口旁边.设置为true时,视图将不会接收 每当烤面包,对话框或其他窗口出现在菜单上方时,触摸 视图的窗口.有关更多信息,请参阅View安全性文档. 详细信息.

Specifies whether to filter touches when the view's window is obscured by another visible window. When set to true, the view will not receive touches whenever a toast, dialog or other window appears above the view's window. Refer to the View security documentation for more details.

可能是布尔值,例如"true"或"false".

May be a boolean value, such as "true" or "false".

否则,您可以尝试覆盖根视图的分发方法 并在其中放置try catch,您可以将其用作

Otherwise, you can try overriding the dispatch method of your root view and place a try catch there, you can use it as a custom Component if needed.

@Override
void dispatchTouchEvent(MotionEvent event){
    try{
        super.dispatchTouchEvent(event);
    }
    catch (Exception e){
        e.printStackTrace();
    }
}

这篇关于在onFilterTouchEventForSecurity上获取NullPointerException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆