Java Android如何在按下home按钮时终止进程

Java Android如何在按下home按钮时终止进程,java,android,Java,Android,好的,所以基本上,我希望能够强迫我的用户在每次重新启动应用程序时进行第一次活动,以便它检查更新。由于android的更高版本阻止我覆盖home按钮,我一直依赖于调用onStop方法来强制进程自行终止,当应用程序再次打开时强制重新加载 问题是,现在我无法在不调用onStop方法的情况下转换到新活动。有没有其他方法可以实现这一点,或者避免在活动转换时调用onStop方法?我会不惜一切代价避免弄乱活动生命周期。此外,如果你想让你的应用程序每次都从它的第一个活动开始,这与Android用户习惯的做法是背

好的,所以基本上,我希望能够强迫我的用户在每次重新启动应用程序时进行第一次活动,以便它检查更新。由于android的更高版本阻止我覆盖home按钮,我一直依赖于调用onStop方法来强制进程自行终止,当应用程序再次打开时强制重新加载


问题是,现在我无法在不调用onStop方法的情况下转换到新活动。有没有其他方法可以实现这一点,或者避免在活动转换时调用onStop方法?

我会不惜一切代价避免弄乱
活动生命周期。此外,如果你想让你的应用程序每次都从它的第一个活动开始,这与Android用户习惯的做法是背道而驰的。。。这可能会让你产生出乎意料的负面评论


如果“检查更新”是你所需要做的全部,那么为什么不在你的所有活动中只在
onResume()
中执行它呢(希望你已经在你的应用程序中使用了某种
BaseActivity
,其他应用程序都扩展了它,所以只需要两行代码就可以添加它)?如果您需要更新,请将它们重定向到更新界面(或执行您决定的任何操作)。

我会不惜一切代价避免弄乱
活动生命周期。此外,如果你想让你的应用程序每次都从它的第一个活动开始,这与Android用户习惯的做法是背道而驰的。。。这可能会让你产生出乎意料的负面评论


如果“检查更新”是你所需要做的全部,那么为什么不在你的所有活动中只在
onResume()
中执行它呢(希望你已经在你的应用程序中使用了某种
BaseActivity
,其他应用程序都扩展了它,所以只需要两行代码就可以添加它)?如果您需要更新,请将它们重定向到更新界面(或执行您决定的任何操作)。

如果需要,您可以按下后退按钮

例如,您可以启动一个
意图

@Override
public void onBackPressed() {    
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
}

如果你愿意,你可以抓住按下的后退按钮

例如,您可以启动一个
意图

@Override
public void onBackPressed() {    
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
}

你应该重新考虑你的应用程序逻辑。“强迫我的用户”真是个坏主意。你为什么不在后台线程或者更好的线程中检查你的更新。。。服务?你根本不应该考虑这个。你不必担心用户只会将你的应用程序放在后台,因此打开它不会检查更新。为什么?因为放在后台的应用程序不会运行很长时间。Android操作系统将杀死它。因此,当用户重新打开它时,将进行更新检查。最多情况下,相对于您可能进行的更新数量,它将在后台停留一小段时间,因此它是无关紧要的。您应该重新考虑您的应用程序逻辑。“强迫我的用户”真是个坏主意。你为什么不在后台线程或者更好的线程中检查你的更新。。。服务?你根本不应该考虑这个。你不必担心用户只会将你的应用程序放在后台,因此打开它不会检查更新。为什么?因为放在后台的应用程序不会运行很长时间。Android操作系统将杀死它。因此,当用户重新打开它时,将进行更新检查。最多情况下,相对于您可能进行的更新数量,它将在后台停留一小段时间,因此它是无关紧要的。这是仓库工人的内部使用。我们基本上是在试图避免这样的情况:他们无限期地打开手机,而应用程序无限期地放在后台。看看这个页面——想象不出更好的时间使用Android for Work API:。如果你觉得在你的应用程序中使用这些功能太过分了,我会转而依赖于在onResume()中进行任何检查。。。从那里你可以很容易地重定向/关闭/任何需要的东西:)不幸的是,onResume()是在第一次创建活动时调用的。但是,我能够利用onRestart()方法。谢谢。澄清一下,这不是一个公共应用程序。这是仓库工人的内部使用。我们基本上是在试图避免这样的情况:他们无限期地打开手机,而应用程序无限期地放在后台。看看这个页面——想象不出更好的时间使用Android for Work API:。如果你觉得在你的应用程序中使用这些功能太过分了,我会转而依赖于在onResume()中进行任何检查。。。从那里你可以很容易地重定向/关闭/任何需要的东西:)不幸的是,onResume()是在第一次创建活动时调用的。但是,我能够利用onRestart()方法。谢谢。如果你愿意,你可以按下后退按钮->不,这不是问题所在,也没有相同的效果,仔细阅读问题,我们谈论的是主页按钮,不是后退按钮。谢谢,但我已经按下后退按钮了。对不起,我不明白。HomeWatcher将在您需要的情况下工作,您可以按下后退按钮->不,这不是所要求的,也没有相同的效果,请仔细阅读问题,我们谈论的是home按钮,而不是back按钮。谢谢,但我已经按下了后退按钮。对不起,我不明白。家庭守望者会工作的