如何在service中弹出dialog
来源:互联网 发布:淘宝买家怎么盖楼 编辑:程序博客网 时间:2024/06/06 08:48
在service中弹出toast很简单,只要使用handler就可搞定,代码如下
hanlder.post(new Runnable() { @Override public void run() { Toast.makeText(DialogService.this, "启动服务", 1).show(); } });
而在service中弹出dialog时,如果写和activity同样的代码时会报错
s.jpg
因为这个dialog的显示是需要依附于一个activity,如果需要在servcie中显示需要把dialog设置成一个系统的dialog,即全局性质的提示框,所以只要手机处于开机状态,无论它现在处于何种界面之下,只要调用alter.show(),就会弹出提示框来。需要在show() 调用之前添加以下代码:
1
dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));
注意:使用系统的Dialog需要在清单文件中添加权限,否则不会显示出来
android.permission.SYSTEM_ALERT_WINDOW
全部代码
Builder builder = new AlertDialog.Builder(this); builder.setTitle("提示"); builder.setMessage("该下车了"); builder.setNegativeButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); builder.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); final AlertDialog dialog = builder.create(); **//在dialog show方法之前添加如下代码,表示该dialog是一个系统的dialog** dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT)); new Thread(){ public void run() { SystemClock.sleep(4000); hanlder.post(new Runnable() { @Override public void run() { dialog.show(); } }); }; }.start();}
0 0
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- 如何在service中弹出dialog
- android在Service中弹出Dialog对话框
- 在Service中弹出Toast和Dialog
- Android在Service中弹出对话框(Dialog)
- Android在Service中弹出Dialog
- 在Service中弹出一个Dialog
- 在Service或者BroadCastReceiver中弹出dialog
- 在Service中弹出Toast和Dialog
- 安卓在Service中弹出Dialog
- Service中弹出Dialog Toast
- wikioi 麦森数 快速幂 高精度乘法
- Velocity语法
- 超级记忆法之110数字编码
- C语言指向函数的指针
- [MySQL]InnoDB逻辑存储结构
- 如何在service中弹出dialog
- 看淡人生 善待自己
- VC++设置列表控件可以整行选中
- 模仿大众点评地区选择
- JMeter基础之—录制脚本
- myeclipse buildworkspace太慢的解决方法
- C++primer & linux私房菜学习笔记(2)
- C语言指向函数的指针
- poj 2352 一维树状数组