猿问

Android Kotlin / Java-注销:清除共享首选项并在后台停止所有进程

在清除所有共享的首选项并将用户发送到主要活动之后:


            this.getSharedPreferences("userData", 0).edit().clear().apply()



            finishAffinity()

            startActivity(Intent(this, MainActivity::class.java))

该应用程序崩溃,因为在后台仍存在与首选项关联的几个任务/计时器。在将用户转到主要活动之前,您如何才能完成所有任务?


我尝试了这个:


            val intent = Intent(Intent.ACTION_MAIN)

            intent.addCategory(Intent.CATEGORY_HOME)

            startActivity(intent)

但它只是将应用程序置于后台,当我将其恢复到前台后便崩溃了。有什么解决方案可以仅停止所有操作并开始特定活动,而无需一个接一个地完成所有后台任务吗?


慕莱坞森
浏览 138回答 2
2回答

元芳怎么了

您可以尝试使用commit()而不是apply()来获取是否成功清除所有数据的返回值!
随时随地看视频慕课网APP

相关分类

Java
我要回答