Samsung Galaxy S8设备上的SecurityException

时间:2018-03-22 09:00:46

标签: android crashlytics

我们Android应用的特定用户群根据Crashlytics遇到以下崩溃。

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bundle.id/com.bundle.id.MainActivity}: java.lang.SecurityException: uid 10346 cannot get secrets for accounts of type: com.osp.app.signin
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2955)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)
       at android.app.ActivityThread.-wrap11(Unknown Source)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
       at android.os.Handler.dispatchMessage(Handler.java:105)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6938)
       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)

我们谷歌搜索,搜索,试图重现没有任何成功。根据Crashlytics的说法,它只发生在三星Galaxy S8设备上。

我们已经测试了一个,但它工作得很好。有没有人见过这个错误或知道是什么原因造成的?真的很令人沮丧。

1 个答案:

答案 0 :(得分:0)

不确定OP的问题是什么,但是我遇到了相同的崩溃,事实证明,问题是我从Account获取了addOnAccountsUpdatedListener对象。在大多数设备上,从该API获取的列表是按accountType过滤的。在某些Samsung设备上,如果已设置,它还将在您的手机上包括Samsung帐户。解决方法:

    accountManager.addOnAccountsUpdatedListener({ accounts ->
      // Samsung is great: it sends us updates on Samsung accounts even though the accountType
      // doesn't match.
      val ourUpdatedAccounts = accounts.filter { account -> account.type == myAccountType }
      // do something with ourUpdatedAccounts
    }, Handler(), false)