My app runs on all other devices except Samsung Galaxy S9 (Oreo).
That is the only phone I have with oreo. All other phones it is working fine (Moto g4 plus, Samsung A8, Samsung galaxy S7, and many other).
Was any new security feature added in oreo?
I couldn't spot out it. Anyone knows?
Log below
java.lang.SecurityException:
at android.os.Parcel.readException (Parcel.java:1958)
at android.os.Parcel.readException (Parcel.java:1904)
at android.view.autofill.IAutoFillManager$Stub$Proxy.addClient (IAutoFillManager.java:326)
at android.view.autofill.AutofillManager.ensureServiceClientAddedIfNeededLocked (AutofillManager.java:896)
at android.view.autofill.AutofillManager.notifyViewExited (AutofillManager.java:487)
at android.view.View.notifyEnterOrExitForAutoFillIfNeeded (View.java:7577)
at android.view.View.dispatchAttachedToWindow (View.java:18627)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:3527)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:3527)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:3527)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:3527)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:3527)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:3527)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:3527)
at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2030)
at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1738)
at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:7745)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:911)
at android.view.Choreographer.doCallbacks (Choreographer.java:723)
at android.view.Choreographer.doFrame (Choreographer.java:658)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:897)
at android.os.Handler.handleCallback (Handler.java:789)
at android.os.Handler.dispatchMessage (Handler.java:98)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6938)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)
This link helps me to solve the issue.
I had getUserId() method on my Activity. I just renamed to getUserID() (as they told in this accepted answer).
Previously it was
public int getUserId() {
SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
int temp = app_preferences.getInt("UserId", 0);
return temp;
}
Now I changed it to
public int getUserID() {
SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
int temp = app_preferences.getInt("UserId", 0);
return temp;
}
Problem solved.. For more details see the answers here.