java - Android kotlin/java - 注销 : clear shared preferences and stop all processes in background

标签 java android kotlin

清除所有共享首选项并将用户发送到主要 Activity 后:

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


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

应用程序崩溃是因为后台仍有几个与首选项相关的任务/计时器。在我将用户发送到主要 Activity 之前,您如何才能完成所有事情?

我尝试过这个:

            val intent = Intent(Intent.ACTION_MAIN)
            intent.addCategory(Intent.CATEGORY_HOME)
            startActivity(intent)

但它只是将应用程序置于后台,当我将其返回前台后,它崩溃了。有没有什么解决方案可以停止一切并开始特定 Activity ,而不需要一一完成所有后台任务?

最佳答案

您可以尝试commit()而不是apply(),并获取返回值是否所有数据都清除成功!

这是docs .

关于java - Android kotlin/java - 注销 : clear shared preferences and stop all processes in background,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54058190/

相关文章:

android - 在应用程序标签中设置应用程序名称不起作用

android - 无法初始化 GeckoRuntime |壁虎 View |安卓

java - Kotlin 中接口(interface)的 Lambda 实现

generics - Kotlin泛型和错误的类型推断

java - 将 log4j.xml 指定为文件

java - 等待计时器/进程完成后再继续

java - 启动时 PHPStorm7 "Failed to create JVM: error code -4"

java - 我应该如何构建 jsps 使用的资源包属性文件?

android - 带有 isInitialized 检查的单例

java - 监听器接口(interface)无法与回收器 View 中的卡片 View 的 onClick 配合使用