【问题标题】:How to detect once Android App closes inside non activity class?一旦Android App在非活动类中关闭,如何检测?
【发布时间】:2018-09-23 21:15:04
【问题描述】:

我想知道是否有办法检测应用程序是否在非活动类中关闭。我的目标是在应用程序关闭或从应用程序切换器中清除后,将所有值保存在我的 Values.java 文件中。

“关闭”表示应用已从 Android 应用切换器中清除。

“非活动类”就是这样,它不是活动的代码(a.k.a 没有与之连接的用户界面),它只是一个保存值的 .java 文件。

import android.content.Context;

public class Values {

    //General Values
    public static boolean vibrationEnabled = true;

    //Single Player Values
    public static float SPBackgroundNumber = 0;
    public static boolean resetScoreSP = false;


    public void saveAllValues(){

    }

}

我想检测应用程序何时关闭的原因是可以保存此 .java 文件中的所有值。

【问题讨论】:

  • 你看过Understand the Activity Lifecycle吗?您是否尝试在应用程序关闭时收到通知。你能和我们分享一下 onDestroy 代码吗?
  • “关闭”一个“非活动类”是什么意思?您可能希望编辑您的问题并提供minimal reproducible example 来解释您所指的内容。
  • 您可以根据您的目标执行相同的 onPause()、OnStop() 或 onDistroy()。
  • @CommonsWare 更新了描述。
  • @MahendraGunawardena 不幸的是 onStop 或其他 on(Something) 在非活动类中不起作用......它给了我这个问题:无法解析符号'onDestroy

标签: java android android-studio destroy


【解决方案1】:

字面意思是:让您的活动从其onDestroy() 方法调用saveAllValues()

正确答案:数据变化时保存数据。如果数据变化频繁(每秒多次),请定期保存。一旦您的应用不再处于前台,您的进程可以随时终止,并且无法保证在这种情况下您的应用中的任何代码都会被调用。

【讨论】:

    猜你喜欢
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    相关资源
    最近更新 更多