草庐IT

android - 当 Activity 回到前台时,AlertDialog 是不可见的

coder 2023-12-04 原文

我写了一个程序支持下载文件。在此下载 Activity 中,我启动一个进度条,然后运行一个线程来执行下载操作。此线程向 UI 线程发送消息以通知已频繁下载了多少。在主(UI)线程中,我在收到消息时更新进度条显示。如果下载过程中出现任何问题,它将发送另一条消息。当主线程收到消息时,它停止进度条并弹出一个新的 AlertDialog 来显示错误原因。

这里对其进行特殊测试。下载时,将程序切换到设置。关闭WIFI/GPRS使网络关闭。

当我回到我的程序时,它应该显示背景 ui 和一个弹出的 AlertDialog 来显示我希望的原因。但它只显示背景ui(这意味着主要 Activity )并且背光半亮,就像弹出窗口一样。当我第一次按回键时,除了背光很亮之外什么也没有发生,就像我关闭了一个弹出窗口一样。

我想可能是因为当我启动 AlertDialog 时,我的 Activity 不在前台。

我尝试使用:

ActivityManager am = (ActivityManager)Update.this.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;

判断top activity是不是我的。但我想显示对话框。如果用户没有看到该 Activity ,当他回到我的 Activity 时,我希望它显示对话框。

最佳答案

确实对话框已经显示但用户不可见,如果您旋转设备它就会变得可见。

如果关闭进度对话框并在 Activity 不在前台时立即显示另一个新对话框,似乎会出现刷新/绘图问题。 在我的测试中,如果等待进度对话框的关闭操作完成然后显示新对话框,则不会发生此类问题。

因此,一种解决方案是先显示 AlertDialog,然后关闭 ProgressDialog。这适用于我的应用程序。

关于android - 当 Activity 回到前台时,AlertDialog 是不可见的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6303713/

有关android - 当 Activity 回到前台时,AlertDialog 是不可见的的更多相关文章

  1. ruby - 即时确定方法的可见性 - 2

    我正在编写一个方法,它将在一个类中定义一个实例方法;类似于attr_accessor:classFoocustom_method(:foo)end我通过将custom_method函数添加到Module模块并使用define_method定义方法来实现它,效果很好。但我无法弄清楚如何考虑类(class)的可见性属性。例如,在下面的类中classFoocustom_method(:foo)privatecustom_method(:bar)end第一个生成的方法(foo)必须是公共(public)的,第二个(bar)必须是私有(private)的。我怎么做?或者,如何找到调用我的cust

  2. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  3. ruby-on-rails - 回到 Rails - 2

    所以我决定在离开几年后,为了我的一些个人项目重新使用RubyonRails。我想知道的是,找出Rails中的新功能的最佳资源是什么?自从1.2是新的以来,我什至没有真正接触过Rails。哦,是的,TextMate仍然是Mac上RoR的实际编辑器,还是出现了更好的东西? 最佳答案 查看officialRailsGuides.这些应该提供Rails的一个很好的概述(如果你生疏了)并且保持最新的最新版本。您可能想查看RyanDaigle'sEdgeRails帖子涵盖了新版本中添加的功能。使用日期来确定从哪里开始并逐一检查。他还有一个PDF

  4. ruby - 是否可以动态检查方法可见性范围(私有(private)/公共(public)/ protected )? - 2

    如thisanswer中所述,在Ruby2.1或更高版本中,此代码:classSimpleTestprivatedefine_method:foodo42endend将定义foo作为SimpleTest的私有(private)方法实例。(在Ruby2.0和更早版本中,它不会是私有(private)的。)但是,我希望做一些不那么琐碎的事情。我想定义一个类可以扩展的DSL,并希望DSL在内部定义的方法尊重调用上下文的私有(private)/protected可见性。这可能不是很清楚,所以这里有一个例子:moduleDsldefhas_a(name)define_methodnamedo42

  5. ruby-on-rails - 常量化通过浏览器提交的参数是不好的做法吗? - 2

    我有一个单表继承设置,我有一个Controller(我觉得有多个Controller会重复)。但是,对于某些方法,我想调用模型的子类。我想我可以让浏览器发送一个参数,我会针对该参数编写一个case语句。像这样的东西:case@model[:type]when"A"@results=Subclass1.search(params[:term])when"B"@results=Subclass2.search(params[:term])...end或者,我了解到Ruby的所有技巧都可以用字符串创建模型。像这样的东西:@results=params[:model].constantize.

  6. ruby-on-rails - 将配置文件模型的某些属性设置为对其他用户公开(可见)或私有(private)(不可见)的最佳方法是什么? - 2

    我有一个Profile模型,它有很多属性,比如电子邮件、图像、年龄、地址等。最终用户可以将某些属性设为私有(private),以便其他用户无法查看。我通过向表private_attr添加一列并将其序列化以存储哈希来解决这个问题:-{email:true,address:true,age:false}这里的属性作为具有值true的键被认为是私有(private)的,不会向除这些属性所属的用户以外的用户显示。我想知道这是解决这个问题的最好方法,还是有其他方法。提前致谢。 最佳答案 我认为您可以只序列化用户希望在数组中私有(private

  7. ruby - "begin"和 "end"是不是保留字? - 2

    我对Ruby中的保留字有点困惑。Matz与人合着的《TheRubyProgrammingLanguage》说begin和end是语言的保留字。它们肯定在句法上用于标记block。但是,该语言中的范围对象具有名为begin和end的方法,如(1..10).end=>10现在,对此进行测试,我发现我确实可以在对象上定义名为“begin”和“end”的方法,但如果我尝试将变量命名为“begin”,它会失败。(这里有一个使用它作为方法名的示例,它确实有效......:)classFoodefbeginputs"hi"endendFoo.new.begin所以,我想我是在问,像这样的保留字的实际

  8. ruby - 通过 Nokogiri 获取可见的文本词 - 2

    我想用Nokogiri打开一个网页,提取用户在浏览器中访问该页面时看到的所有词,并分析词频。使用nokogiri从html文档中获取所有可读单词的最简单方法是什么?理想的代码片段应该是一个html页面(比如一个文件),并给出一组来自所有类型可读元素的单个单词。(无需担心javascript或css隐藏元素并因此隐藏单词;所有设计用于显示的单词都可以。) 最佳答案 你想要Nokogiri::XML::Node#inner_text方法:require'nokogiri'require'open-uri'html=Nokogiri::H

  9. Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信) - 2

    运行有问题或需要源码请点赞关注收藏后评论区留言一、利用ContentResolver读写联系人在实际开发中,普通App很少会开放数据接口给其他应用访问。内容组件能够派上用场的情况往往是App想要访问系统应用的通讯数据,比如查看联系人,短信,通话记录等等,以及对这些通讯数据及逆行增删改查。首先要给AndroidMaifest.xml中添加响应的权限配置 下面是往手机通讯录添加联系人信息的例子效果如下分成三个步骤先查出联系人的基本信息,然后查询联系人号码,再查询联系人邮箱代码 ContactAddActivity类packagecom.example.chapter07;importandroid

  10. Android 10.0 设置默认launcher后安装另外launcher后默认Launcher失效的功能修复 - 2

    1.前言 在10.0的系统rom定制化开发中,在系统中有多个launcher的时候,会在开机进入launcher的时候弹窗launcher列表,让用户选择进入哪个launcher,这样显得特别的不方便所以产品开发中,要求用RoleManager的相关api来设置默认Launcher,但是在设置完默认Launcher以后,在安装一款Launcher的时候,默认Launcher就会失效,在系统设置的默认应用中Launcher选项就为空,点击home键的时候会弹出默认Launcher列表,让选择进入哪个默认Launcher.所以需要从安装Launcher的流程来分析相关的设置。来解决问题设置默认La

随机推荐