如何在service中弹出dialog
2014-04-16 10:38
113 查看
我们都知道service是没有界面的,默默的在后台执行逻辑代码,有时候需要和前台有所交互,如:toast或弹出提示框等等
在service中弹出toast很简单,只要使用handler就可搞定,代码如下
而在service中弹出dialog时,如果写和activity同样的代码时会报错
![](http://a1.eoe.cn/www/home/201304/09/0ce1/516375be10ec9.jpg)
因为这个dialog的显示是需要依附于一个activity,如果需要在servcie中显示需要把dialog设置成一个系统的dialog,即全局性质的提示框,所以只要手机处于开机状态,无论它现在处于何种界面之下,只要调用alter.show(),就会弹出提示框来。需要在show() 调用之前添加以下代码:
注意:使用系统的Dialog需要在清单文件中添加权限,否则不会显示出来
android.permission.SYSTEM_ALERT_WINDOW
全部代码
声明:eoe文章著作权属于作者,受法律保护,转载时请务必以超链接形式附带如下信息
原文作者: 皇马船长
原文地址: http://my.eoe.cn/cainiao1/archive/2345.html
在service中弹出toast很简单,只要使用handler就可搞定,代码如下
1 2 3 4 5 6 | hanlder.post(new Runnable() { @Override public void run() { Toast.makeText(DialogService.this, "启动服务", 1).show(); } }); |
![](http://a1.eoe.cn/www/home/201304/09/0ce1/516375be10ec9.jpg)
因为这个dialog的显示是需要依附于一个activity,如果需要在servcie中显示需要把dialog设置成一个系统的dialog,即全局性质的提示框,所以只要手机处于开机状态,无论它现在处于何种界面之下,只要调用alter.show(),就会弹出提示框来。需要在show() 调用之前添加以下代码:
1 | dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT)); |
android.permission.SYSTEM_ALERT_WINDOW
全部代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | Builder builder = new AlertDialog.Builder(this); |
原文作者: 皇马船长
原文地址: http://my.eoe.cn/cainiao1/archive/2345.html
相关文章推荐
- Service如何弹出dialog
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- service如何弹出dialog
- 如何使用Service的Context弹出Dialog对话框,即全局性对话框
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- service如何弹出dialog
- android service 如何弹出dialog
- 如何配置一个简易的密码弹出框Dialog
- 如何在service实现弹出对话框
- android在Service中弹出Dialog对话框,即全局性对话框
- 如何实现dialog弹出,但activity界面颜色不变暗
- Service中弹出Dialog
- android在Service中弹出Dialog对话框,即全局性对话框
- android在Service中弹出Dialog对话框,即全局性对话框
- Android 如何在service和BroadCastReceiver中 启动activity和alertdialog?
- 如何在运行 Windows XP Service Pack 2 的计算机上配置弹出窗口阻止程序