androidandroid-8.0-oreoandroid-securityexception

Showing security exception on Samsung Galaxt S9 (Oreo)


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)

Solution

  • 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.