gpt4 book ai didi

android - 当应用程序在后台时如何更改 Activity

转载 作者:行者123 更新时间:2023-11-30 01:34:06 24 4
gpt4 key购买 nike

我有一个应用程序,它应该在切换到其他 Activity 之前运行一些加载(I/O 操作),这将显示加载的信息。我想在切换之前完全加载信息,这会导致一些设计问题。我本可以使用 AsyncTask 在后台运行一些东西,但从设计的角度来看,我不希望为了响应结果而泄露应用程序的整个上下文。 Service 的概念看起来更符合我的需要。
因此,让我表示我无法从设计角度解决的情况。应用程序启动,这会导致创建一些 Activity 等。这创建了一个服务,它在后台执行 I/O 操作。完成后,Application 将 Activity 更改为指定的 Activity。问题是,我应该如何处理这种情况,当服务在应用程序处于后台时完成它的工作。作为一名程序员,我想让我的应用程序重新打开第一个 Activity 并立即更改为以下 Activity ,或者只是从“以下” Activity 开始。有什么想法吗?

最佳答案

I would like to make my app either reopen the first activity and insta change to the following one

你可以这样做。当您的服务中的处理完成时,像这样在 SharedPreference 中保存一个值

Context ctx = getApplicationContext();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("LoadNewActivity", true); // or false
editor.commit();

现在在您的启动器 Activity onCreate()

中执行此操作
SharedPreferences prefs = getSharedPreferences(PREFS_NAME, 0);
boolean loadNewActivity = prefs.getBoolean("LoadNewActivity", false);
if(loadNewActivity)
{
Intent intent = new Intent(this, MyNewActivity.class);
startActivity(intent);
}
else
{
// Do normal startup
}

关于android - 当应用程序在后台时如何更改 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35340538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com