android service 如何弹出dialog

在service中弹出toast,需要使用handler,

1 handler.post(new Runnable() {
2      @Override
3      public void run() {
4           Toast.makeText(this, "重启服务", 1).show();
5      }
6 });

在service中弹出dialog,写着跟activity同样代码会报错。

因为这个dialog显示时是需要依赖一个activity,如何需要在service中显示需要把dialog设置成一个系统的dialog,即全局性质的提示框。

1 dialog.getWindow().setType((WindowManager.LayoutParams,TYPE_SYSTEM_ALERT));//在dialog show 方法之前添加这个代码,表示该dialog是系统的dialog。

注意:

使用系统dialog,需要在清单文件中添加权限:

1 android.permission.SYSTEM_ALERT_WINDOW

e.g.

 1 Builder builder = new AlertDialog.Builder(this);
 2 builder.setMessage("是否重启服务");
 3 builder.setNegativeButton("取消", new OnClickListense() {
 4     @Override
 5     public void onClick(DialogInterface dialog, int which) {
 6            // to do
 7     }
 8 });
 9 builder.setPositiveButton("确定", new OnClickListense() {
10     @Override
11     public void onClick(DialogInterface dialog, int which) {
12            // to do
13     }
14 });
15 final AlertDialog dialog = buidler.create();
16 //在dialog show前添加此代码,表示该dialog属于系统dialog。
17 dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));
18 new Thread() {
19      public void run() {
20             SystemClock.sleep(2000);
21             hanlder.post(new Runnable() {
22                     @Override
23                     public void run() {
24                           dialog.show();
25                     }
26             });
27      };
28 }.start();
时间: 2024-11-07 10:24:11

android service 如何弹出dialog的相关文章

Android 继承DialogFragment弹出dialog对话框一

相信现在Android软件开发员,都经常用到这种方式弹出对话框的.Android继承DialogFragment弹出dialog对话框,这样弹出有很多可以灵活处理地方,想什么启动,什么时候数据接口返回都可以,有自已layout布局,生命周期.下面看看我写demo. 本文代码下载:请点击这里 转载请注明出处: http://blog.csdn.net/qq_16064871 一.MainActivity package com.example.fragmentdialogdemo; import

Android 继承DialogFragment弹出dialog对话框二

之前写过一篇关于Android 继承DialogFragment弹出dialog对话框一,这次是在上次的基础上修改了一些东西,就是怎样在DialogFragment中获取getDialog()是获取当前对话框句柄.就可以进行布局可变的灵活操作.就像getactivity();一样使用.下面看代码. 本文demo下载地址:点击 MainActivity package com.example.fragmentdialogdemo; import com.example.fragmentdialog

android开发(31) 动画演示 - 从页面底部向上弹出dialog,消失时逐渐向下

我想实现一个效果,从底部向上逐渐弹出.如下图所示: 1.点击 显示 按钮时,一个dialog对话框从底部慢慢向上弹出. 2.关闭dialog时, dialog缓慢的移动向底部消失.很平滑的效果.     实现方式: 在activity中写代码如下 public class MainActivity extends Activity { Button button1; @Override protected void onCreate(Bundle savedInstanceState) { su

Android 底部弹出Dialog(横向满屏)

项目中经常需要底部弹出框,这里我整理一下其中我用的比较顺手的一个方式(底部弹出一个横向满屏的dialog). 效果图如下所示(只显示关键部分): 步骤如下所示: 1.定义一个dialog的布局(lay_share.xml) 1 <?xml version="1.0" encoding="utf-8"?> 2 3 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/

service里面弹出对话框

如何在service里面弹出对话框先给一个需求:需要在service里面监听短信的接收,如果接收到短信了,弹出一个dialog来提示用户打开. 看看效果图:(直接在主桌面上弹出) service中弹出提示框: AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); alertDialog.setMessage("有新消息,是否查看?"); alertDialog.setPositiveButton("否

Android窗口为弹出框样式

1.XML android:theme="@android:style/Theme.Dialog <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.fish.helloworld" android:versio

从页面底部向上弹出dialog,消失时逐渐向下(转)

我想实现一个效果,从底部向上逐渐弹出.如下图所示: 1.点击 显示 按钮时,一个dialog对话框从底部慢慢向上弹出. 2.关闭dialog时, dialog缓慢的移动向底部消失.很平滑的效果.     实现方式: 在activity中写代码如下 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 public class MainActivity extends Activity {     Butto

关于一条定制长按Power键弹出Dialog的需求

如题,需要定制长按Power键弹出的Dialog,UI上的大致效果是:全屏,中间下拉按钮“Swipe Down To Power Off”下拉关机,底部左右两侧“Reboot”,“Cancel”按钮,分别是重启,取消操作.并要求弹出Dialog的同时,背景渐变模糊,操作控件有相应动画效果,执行相应操作有同步动画,退出界面背景渐变至透明消失.设计效果酱紫: 具体控件动画要求就不再详述.主要两件事:1.关机流程,更准确的说应该是对长按Power键的处理:2.定制Dialog. 1.长按Power键,

Android——长按弹出菜单、获取当前所按的item的信息

ListView 中有多个选项,长按每个选项,都能弹出一个上下文菜单,并能获取所按选项的详细信息. 关键步骤: private static final int DELETE_ID = Menu.FIRST + 1;//使用Menu.FIRST常量而不使用其他常量的原因:程序封装的变量 用起来不占内存 程序读的快 不容易出错 private static final int EDIT_ID=Menu.FIRST + 2; private static final int VIEW_ID=Menu