在奥利奥布尔com.android.server.autofill.RemoteFillService $ PendingRequest.cancel()上的空指针异常

San*_*mar 22 android autofill 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)
Run Code Online (Sandbox Code Playgroud)

这并没有说明为什么会发生这种情况的确切原因.

小智 6

这不是您的应用程序的问题,而是特定的Android OEM。似乎在三星设备上发生的频率更高,而在像素设备上没有发生。这是给Google的问题报告,显示为“无法解决”。 https://issuetracker.google.com/issues/123311621

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