【问题标题】:NPE on com.android.server.autofill.RemoteFillService$PendingRequest.cancel()com.android.server.autofill.RemoteFillService$PendingRequest.cancel() 上的 NPE
【发布时间】:2019-02-22 10:24:45
【问题描述】:

Crashlytics 正在报告与自动填充相关的 NullPointerException,如下所示:

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method
'boolean com.android.server.autofill.RemoteFillService$PendingRequest.cancel()' on a null object reference
  at android.os.Parcel.readException(Parcel.java:1965)
  at android.os.Parcel.readException(Parcel.java:1905)
  at android.app.IActivityManager$Stub$Proxy.reportAssistContextExtras(IActivityManager.java:8297)
  at android.app.ActivityThread.handleRequestAssistContextExtras(ActivityThread.java:3210)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
  at android.os.Handler.dispatchMessage(Handler.java:105)
  at android.os.Looper.loop(Looper.java:164)
  at android.app.ActivityThread.main(ActivityThread.java:6944)
  at java.lang.reflect.Method.invoke(Method.java)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

Caused by android.os.RemoteException: Remote stack trace:
  at com.android.server.autofill.RemoteFillService.cancelCurrentRequest(RemoteFillService.java:177)
  at com.android.server.autofill.Session.cancelCurrentRequestLocked(Session.java:465)
  at com.android.server.autofill.Session.access$1000(Session.java:118)
  at com.android.server.autofill.Session$1.onHandleAssistData(Session.java:322)
  at com.android.server.am.ActivityManagerService.reportAssistContextExtras(ActivityManagerService.java:14713)

但是,堆栈不包含我的应用程序中的任何内容,但我这边正在发生崩溃。

【问题讨论】:

  • @Talendar ,这不仅仅是空指针异常。它位于 com.android.server.autofill.RemoteFillService$PendingRequest.cancel()。我不知道如何解决它,因为这没有出现在我的代码中
  • 此问题的任何解决方案。好像是新的。
  • 你找到原因了吗?
  • @SanjayKumar 我已将其提交给 Google。让我们看看。

标签: android nullpointerexception autofill


【解决方案1】:

这不是您的应用的问题,而是特定的 Android OEM 的问题。似乎在三星设备上发生得更频繁,而在 Pixel 设备上却没有。这是一份给 Google 的问题报告,以“无法修复”的形式关闭。 https://issuetracker.google.com/issues/123311621

由于自动填充而发生崩溃。我建议通过将 importanForAutofill 设置为 false/no 来禁用特定视图的自动填充。 https://developer.android.com/reference/android/R.attr.html#importantForAutofill

【讨论】:

  • 您能否支持您的说法,即将importanForAutofill 设置为no 将避免此崩溃?您是否成功地重现了崩溃并使用该设置测试了避免?或者至少消除了远程用户设备上的崩溃?
  • 我无法重现崩溃。然而,我确实使用带有自动填充的编辑文本进行了测试,然后通过在我的 oncreate 上调用 importantForAutofill 禁用了自动填充。它可以禁用自动填充。至于崩溃,让我尝试更多地测试它。
  • 你好。我想知道您是否在应用程序中使用 TextInputLayout。如果是这样,您可以粘贴具有此的布局文件的副本。
  • 这是一个超级互动的应用程序,有很多,但这里有一个:gist.github.com/ozbek/6e1cf0a878efbffa383e87ffd2cdb4bb
  • 我也收到了来自 Google 设备(Pixel 2 XL 和 Pixel 3,均运行 Android 9)的崩溃报告。
猜你喜欢
  • 2019-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多