android service中显示一个dialog
转自:http://blog.csdn.net/huxueyan521/article/details/8954844
dialog是依附于activity存在的。但是app中经常需要使用以下的情况,在service中做一些后台操作,在某个临界条件满足时,显示一个dialog告知用户。
这时dialog无法直接从service中启动起来,会报出android.view.WindowManager$BadTokenException:Unable to add window的错误。
解决方法有两种:
1. 显示一个系统界别的dialog,即全局性质的dialog。这种dialog在任何界面下都可以弹出来。但是,这种dialog不相应home键和返回键,即强制用户必须对dialog作出操作后。
使用方法是在dialog.show()语句之前设置dialog的window的type是system alert型。如下:
- dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
- dialog.show();
还需要在AndroidManifest.xml中增加权限:
- <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
2. 在dialog的背后加一个透明的activity。即先显示一个透明的activity,在使用activity的context显示dialog。需要注意的是,activity在destroy的时候一定要把dialog给dismiss掉,否则activity消失但dialog还在,会crash。
透明activity的创建方法是在AndroidManifest.xml中添加theme:
- <activity
- android:name="com.a.b.activity"
- android:theme="@android:style/Theme.Translucent">
- </activity>
另外,需要设置activity没有actionbar,设置方法是在Activity的onCreate方法中增加:
- requestWindowFeature(Window.FEATURE_NO_TITLE);
android service中显示一个dialog相关推荐
- service中显示一个dialog
dialog是依附于activity存在的.但是app中经常需要使用以下的情况,在service中做一些后台操作,在某个临界条件满足时,显示一个dialog告知用户. 这时dialog无法直接从ser ...
- Android Settings中显示自定义dialog
第一种方法,参照NightDisplaySettings.java @Overridepublic boolean onPreferenceTreeClick(Preference preferenc ...
- Android在Service中显示Dialog
在Service中弹出一个Dialog对话框 第1步:在应用的AndroidManifest.xml中需要添加权限.没有无法显示. <uses-permission android:name=& ...
- android中布局全屏,怎么在Android 应用中实现一个全屏与非全屏功能
怎么在Android 应用中实现一个全屏与非全屏功能 发布时间:2020-12-04 17:31:45 来源:亿速云 阅读:135 作者:Leah 怎么在Android 应用中实现一个全屏与非全屏功能 ...
- android图片浏览功能,怎么在Android应用中实现一个网页图片浏览功能
怎么在Android应用中实现一个网页图片浏览功能 发布时间:2020-12-05 17:28:31 来源:亿速云 阅读:80 作者:Leah 本篇文章给大家分享的是有关怎么在Android应用中实现 ...
- android 工具栏沉浸 下拉,如何在Android应用中实现一个沉浸式状态栏效果
如何在Android应用中实现一个沉浸式状态栏效果 发布时间:2020-12-08 17:04:42 来源:亿速云 阅读:151 作者:Leah 这篇文章将为大家详细讲解有关如何在Android应用中 ...
- 可视化:在窗口中显示一个球,该球以与水平成45度夹角作直线运动,当遇到边界时,反弹回来,仍与水平成45度角继续运动。
在窗口中显示一个球,该球以与水平成45度夹角作直线运动,当遇到边界时,反弹回来,仍与水平成45度角继续运动. #include<windows.h> #include<stdlib. ...
- android led闪烁功能,如何在Android应用层中制作一个LED指示灯效果
如何在Android应用层中制作一个LED指示灯效果 发布时间:2020-12-08 16:12:59 来源:亿速云 阅读:86 作者:Leah 本篇文章给大家分享的是有关如何在Android应用层中 ...
- android中的后退功能,如何在Android应用中实现一个返回键功能
如何在Android应用中实现一个返回键功能 发布时间:2020-11-23 16:28:56 来源:亿速云 阅读:89 作者:Leah 今天就跟大家聊聊有关如何在Android应用中实现一个返回键功 ...
最新文章
- java 反射 注解 运用_Java注解与反射的使用
- 【解答】一个电动模型,每一组电池能让其行驶8分钟,一个充电器能同时给两组电池充电,一组充满需要15分钟,至少准备(?)组电池,(?)个充电器,可以让模型每次行驶完可以立即换电池行驶不用等待。
- Python实训day05am【正则表达式、网络爬虫】
- 【深入Java虚拟机】之一:Java内存区域与内存溢出
- 多台电脑集群运算_答疑 | 三维建模的【电脑】配置问题
- 硅谷公司:我们称他们为软件工程师,而非打工人
- idea新建web项目并配置运行教程
- torch.optim.lr_scheduler.MultiStepLR()用法研究 台阶/阶梯学习率
- 线性代数、微积分学习与回顾
- 关于U盘格式化以后容量突然减少很多的解决办法
- 人类微生物组和缺失遗传力--读论文
- Kindeditor在线 HTML 编辑器使用
- C++程序的设计机制1:NVI机制(Non-Virtual Interface )
- android 自动亮屏解锁,android 点亮手机屏幕与屏幕解锁方法
- 用C语言求一元二次方程的解
- 小白学渗透——渗透测试基本流程
- 如何把多张图片合成视频
- rsync 命令_rsync命令教程示例
- 机制设计专栏(2)-说一说IC机制
- 输入电压=24V 输出电压=8V 1.5A TO-252-5 DCDC芯片推荐
热门文章
- python小黄人程序_python signal信号
- 如何用python开发游戏_手把手教你用Python完成一个控制台小游戏-阿里云开发者社区...
- java中 a_java中 a++ 和 ++a
- 每天一道LeetCode-----找到由连续数字组成的数组中缺失的那个连续值
- 送计算机教授教师节礼物,教师节送教授什么礼物好
- golang基于UDP完成
- AppleScript 以管理员身份运行程序
- Android安卓模拟器中模拟SD卡
- DEBUG各命令详细说明(很详细)
- mysql删除表命令语句_MySQL增删改查语句命令(一)