当前位置: 首页 > news >正文

全局获取 (Activity)Context,实现全局弹出 Dialog

为什么需要一个全局的 (Activity)Context

  • 需求1:在进入 app 的时候,要求做版本检测,有新的版本的时候,弹出一个 AlertDialog,提示用户版本更新
  • 需求2:从别的设备挤下来的时候,不论当前 activity 是哪个,都能弹出来 AlertDialog(其实可以通过广播实现)
  • 需求3:服务器发来类似微信在电脑端登录的提示,弹出来确认 activity 。

使用 Dialog 的时候,为什么不可以使用 (Application)Context

  • 使用 (Application)Context 会抛出 BadTokenException 的异常。

ActivityLifecycleCallbacks 获取当前的 Activity

  • Android 4.0 开始提供了一个接口 ActivityLifecycleCallbacks,可以监听 Activity 的生命周期,通过接口的回调方法可以判断当前的 acitivity 是哪个

实现全局的 (Activity)Context,实现全局弹出 Dialog

  • 在 Application 中实现 ActivityLifecycleCallbacks 接口,在回调方法 onActivityStarted(Activity activity) 中获取到当前的 activity 、然后每次需要在弹出 Dialog 的时候,直接从 Application 中获取。

https://developer.android.com/reference/android/app/Application.ActivityLifecycleCallbacks.html
http://blog.csdn.net/a940659387/article/details/52473455

相关文章:

  • Android 机顶盒手势、数据分页演示DEMO
  • 框架frameset和iframe的区别!
  • 异步CTP(Async CTP)为什么那样工作?
  • 把python文件编译成exe文件
  • ArcGis Mobile根据查询出来的坐标画marker(DrawMapImage)
  • 什么是Heartbeat
  • hdu 4027 Can you answer these queries?
  • Windows数据类型探幽——千回百转你是谁?(1)
  • 数据库连接错误: The provider did not return a ProviderManifestToken string.
  • C#编写的winform程序打包方法
  • 2017.11.14 小组第二次例会
  • 032 文本框中的时间格式
  • hdu 4012 Paint on a Wall
  • Android开发者指南(11) —— Optimizing Apps for Android 3.0
  • C#获取当前路径的7种方法
  • bearychat的java client
  • Java IO学习笔记一
  • JavaScript 一些 DOM 的知识点
  • JWT究竟是什么呢?
  • Linux CTF 逆向入门
  • Linux各目录及每个目录的详细介绍
  • mac修复ab及siege安装
  • React系列之 Redux 架构模式
  • spring + angular 实现导出excel
  • TypeScript迭代器
  • Vue--数据传输
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 山寨一个 Promise
  • 探索 JS 中的模块化
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 湖北分布式智能数据采集方法有哪些?
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​业务双活的数据切换思路设计(下)
  • (145)光线追踪距离场柔和阴影
  • (8)STL算法之替换
  • (a /b)*c的值
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (多级缓存)缓存同步
  • (二)Linux——Linux常用指令
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • .net core 连接数据库,通过数据库生成Modell
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET 依赖注入和配置系统
  • .Net 应用中使用dot trace进行性能诊断
  • .netcore如何运行环境安装到Linux服务器
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET命令行(CLI)常用命令
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @Data注解的作用
  • @WebServiceClient注解,wsdlLocation 可配置