gpt4 book ai didi

android - MainApplication 是否会在更新应用程序后始终运行,即使用户没有打开它?

转载 作者:行者123 更新时间:2023-11-29 23:34:11 25 4
gpt4 key购买 nike

我的应用程序有一些小部件,在新版本的应用程序中,这些小部件需要一些额外的数据。我在 MainApplication.java 中获取了这些数据,但我担心当用户更新时,如果他们不手动打开应用程序,MainApplication 将不会自动运行。但是,由于小部件已经在主屏幕上,并且由于此数据不可用,小部件将崩溃。

我的担心是真实的还是 MainApplication 总是先运行(也在调用 AppWidgetProvider.onUpdate() 之前),即使在应用程序自动更新并且用户执行更新之后根本不是吗?

最佳答案

当您的应用程序启动时,首先调用您的Application 实现的构造函数,然后立即调用Application::onCreate() 方法。当您说“MainApplication 总是先运行吗?”时,我假设这就是您要问的问题。看看文档对 Application::onCreate() 的看法(摘自 here ):

Called when the application is starting, before any activity, service, or receiver objects (excluding content providers) have been created.

此外,此方法不会在您的应用程序更新时调用,据我所知,它不会在您的应用程序完成更新时调用。

另一方面,AppWidgetProvider.onUpdate() 方法在重新安装应用程序后调用。升级小部件的代码应放在其中,以便在应用升级后执行。

public class WidgetProvider extends AppWidgetProvider {

@Override
public void onUpdate (Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
//Update your widgets here
}
}

关于android - MainApplication 是否会在更新应用程序后始终运行,即使用户没有打开它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52399551/

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