web-dev-qa-db-ja.com

com.Android.server.autofill.RemoteFillService $ PendingRequest.cancel()のNPE

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)

しかし、スタックには私のアプリからの何も含まれていませんが、私の側でクラッシュが発生しています。

23
Sanjay Kumar

これはアプリの問題ではなく、特定のAndroid OEMの問題です。Samsungデバイスで頻繁に発生し、Pixelデバイスでは発生しないようです。ここにGoogleへの問題レポートがあります。 「修正しない」 https://issuetracker.google.com/issues/123311621

自動入力が原因でクラッシュが発生しているため。 importanForAutofillをfalse/noに設定して、特定のビューの自動入力を無効にすることをお勧めします。 https://developer.Android.com/reference/Android/R.attr.html#importantForAutofill

7
Gelo