0

I had a working android app that was working fine and I had tested In App purchases V3 and it was Ok in external Samsung phone. It was ready to publish and all of the sudden it broke with the following error at this line:

bp.purchase(MainActivity.this, "android.test.purchased");

the error is the following:

01-03 21:43:07.492 805-1531/? E/DatabaseUtils: Writing exception to parcel
    java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
        at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:15168)
        at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2492)
        at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:688)
        at android.content.ContentProvider$Transport.call(ContentProvider.java:325)
        at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:275)
        at android.os.Binder.execTransact(Binder.java:404)
        at dalvik.system.NativeStart.run(Native Method)
01-03 21:43:07.492 805-1531/? W/ActivityManager: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
01-03 21:43:07.552 4095-4326/? I/Finsky: [333] com.google.android.finsky.billing.iab.an.b(45): com.example.ashamsa.iaptest: Account from first account - [1-W58wCwpHIMWNDOrKtUcDzJ-_k]
01-03 21:43:07.572 1330-1330/? W/ChimeraUtils: Non Chimera context
01-03 21:43:07.592 1330-1347/? E/Auth: [GoogleAccountDataServiceImpl] getToken() -> BAD_AUTHENTICATION. Account: <ELLIDED:-1755391382>, App: com.android.vending, Service: androidmarket
    mrn: Long live credential not available.
        at gzz.c(:com.google.android.gms@14799002@14.7.99 (000304-223214910):18)
        at gzz.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):11)
        at gzz.b(:com.google.android.gms@14799002@14.7.99 (000304-223214910))
        at gyk.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):22)
        at inl.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):7)
        at inl.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):153)
        at iml.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):2)
        at imj.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):15)
        at imj.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):6)
        at gux.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):33)
        at gux.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):81)
        at gux.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):254)
        at dsq.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):5)
        at utz.a(:com.google.android.gms@14799002@14.7.99 (000304-223214910):5)
        at csb.onTransact(:com.google.android.gms@14799002@14.7.99 (000304-223214910):4)
        at android.os.Binder.transact(Binder.java:361)
        at dui.onTransact(:com.google.android.gms@14799002@14.7.99 (000304-223214910):3)
        at android.os.Binder.transact(Binder.java:361)
        at com.google.android.gms.internal.o$a$a.a(Unknown Source)
        at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
        at com.google.android.gsf.loginservice.GoogleLoginService$AccountAuthenticatorImpl.getAuthToken(GoogleLoginService.java:302)
        at android.accounts.AbstractAccountAuthenticator$Transport.getAuthToken(AbstractAccountAuthenticator.java:196)
        at android.accounts.IAccountAuthenticator$Stub.onTransact(IAccountAuthenticator.java:113)
        at android.os.Binder.execTransact(Binder.java:404)
        at dalvik.system.NativeStart.run(Native Method)

it took me more than couple of hours that I guessed something might be wrong with the phone, so I changed the external phone and it works like before with no issue whatsoever. So I am puzzled what can be changed in my testing phone that has caused the above mentioned error. I built a very simple app to test in app purchase and again this basic app works in one and crashes on the other. I should mention that both phones were working absolutely fine before this happened out of the blue,

I appreciate if someone can shed some light on this, Thanks,

Nabat Farsi
  • 840
  • 1
  • 9
  • 17
  • https://stackoverflow.com/questions/45845912/android-crash-on-android-8-0-oreo-securityexception-permission-denial-null-as?rq=1 – MarsAtomic Jan 04 '19 at 05:31
  • thanks, I don't have userID in my app but this link directed me to the bellow answer, where I guessed it that should have something to do with the user. – Nabat Farsi Jan 05 '19 at 06:36

1 Answers1

0

So here is what is happened, though I am not sure how the app should handle it.

In my phone>settings>accounts>google I had 3 registered accounts that two of the were out of sync. I removed them and it starts working now.

Nabat Farsi
  • 840
  • 1
  • 9
  • 17