gpt4 book ai didi

android-activity - 显示来自 android.app.application 的对话框

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

我有一个更新例程(连接到服务器并查找其自身的更新版本),它在我的第一个 Activity 中运行 onCreate。如果有更新,则会向用户显示一个对话框,如果更新不是强制性的,则询问他们是否要下载更新。

问题是我不想在 Activity 中运行它,因为每次重新加载 Activity 时都会调用它,例如旋转设备时。

我可以创建一个单例,它知道检查是否已经执行或类似的事情,但我更愿意在 Activity 之外进行检查,因为它看起来不是正确的地方。

我遇到的问题是,如果我将它放在 android.app.application 中,那么我就没有创建对话框的 Activity 。我可以为此创建一个加载程序 Activity ,然后触发主要 Activity ,但这似乎也不理想。

处理这种情况的好方法是什么?

最佳答案

您无法从应用程序上下文启动 Activity ,遗憾的是这是不可能的。您需要做的是使用

创建一个 Activity
android:theme="@android:style/Theme.Dialog"

在您的 AndroidManifest.xml 中的 Activity 标记内。在此 Activity 中,您应该定义一个相当简单的布局,使其看起来尽可能像一个对话框(如果您希望它看起来像其他东西,也可以不定义)。

另一种选择是让您的第一个 Activity 设置 BroadcastReceiver,然后拥有应用程序上下文

sendBroadcast(new Intent("MyUniqueID"));

在 BroadcastReceiver 的 onReceive 方法中显示带有 Activity 上下文的对话框。

关于android-activity - 显示来自 android.app.application 的对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14784194/

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