首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Firebase AsyncTask致命异常

Firebase AsyncTask致命异常
EN

Stack Overflow用户
提问于 2019-06-28 06:43:52
回答 2查看 161关注 0票数 0

在我的项目中,我使用的是、Firebase、--有时是(不是每次)--当我运行我的应用程序时,我得到了例外:java.lang.ArrayIndexOutOfBoundsException: length=15; index=15。我不知道为什么,但我认为这可能与Firebase有关。我的日志:

代码语言:javascript
复制
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: pl.project.project, PID: 21825
java.lang.ArrayIndexOutOfBoundsException: length=15; index=15
    at java.util.ArrayList.add(ArrayList.java:468)
    at com.facebook.appevents.RestrictiveDataManager.updateFromSetting(RestrictiveDataManager.java:46)
    at com.facebook.internal.FetchedAppSettingsManager.parseAppSettingsFromJSON(FetchedAppSettingsManager.java:323)
    at com.facebook.internal.FetchedAppSettingsManager.queryAppSettings(FetchedAppSettingsManager.java:286)
    at com.facebook.UserSettingsManager$1.run(UserSettingsManager.java:151)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
    at java.lang.Thread.run(Thread.java:764)

我的飞溅活动:

代码语言:javascript
复制
class SplashActivity : AppCompatActivity() {

    private lateinit var presenter: SplashPresenter

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_splash)
        presenter = SplashPresenterImpl(this)
        presenter.onCreate()
        window.setExitTransition(null)
    }

}

SplashPresenterImpl:

代码语言:javascript
复制
class SplashPresenterImpl(val activity: SplashActivity): SplashPresenter {

    override fun onCreate() {
        val auth = FirebaseAuth.getInstance()
        if(auth.currentUser !=null && !auth.currentUser?.isEmailVerified!!) auth.signOut()
        if(auth.currentUser!=null) Handler().postDelayed({startMainActivity()},500)
        else Handler().postDelayed({startLoginActivity()},500)
    }

    private fun startMainActivity() = activity.startActivity(Intent(activity, MainActivity::class.java))

    private fun startLoginActivity(){
        val activityOptions = ActivityOptions.makeSceneTransitionAnimation(activity,
            Pair(activity.konkurlyText, "konkurlyTextTranstion"))
        activity.startActivity(Intent(activity, LoginActivity::class.java), activityOptions.toBundle())
    }   
}

提前谢谢,祝您今天愉快。

EN

回答 2

Stack Overflow用户

发布于 2019-06-28 07:26:08

这个异常意味着在代码的某个地方有一个数组,其限制为15个索引。但你还有更多。

在Kotlin中,该数组可能不会被命名为array,无论如何,必须有一些java代码在后台处理数组。

作为第一步,您可能会考虑降低"konkurlyTextTranstion"中的字符数。

祝你好运。

票数 0
EN

Stack Overflow用户

发布于 2019-06-28 14:10:40

对我来说,从com.google.firebase:firebase-core:16.0.9'升级到'com.google.firebase:firebase-core:17.0.0'似乎解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56802092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档