Android service里面启动alertdialog

 1 public void showSystemDialog(String showInfo, final int flag)  
 2     {  
 3         AlertDialog.Builder b = new AlertDialog.Builder(context);  
 4         b.setMessage(showInfo);  
 5         b.setPositiveButton("确定", new DialogInterface.OnClickListener()  
 6         {  
 7             public void onClick(DialogInterface dialog, int id)  
 8             {  
 9   
10                 switch (flag)  
11                 {  
12                     case 0:  
13                         Intent intent = new Intent(  
14                                 Settings.ACTION_WIRELESS_SETTINGS);  
15                         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
16                         context.startActivity(intent);  
17                         break;  
18                     case 1:  
19   
20                     case 3: // 如果是GPRS,则提醒   
21                         if (moblieFlag == false)  
22                         {  
23                             moblieFlag = true;  
24                         }  
25                     default:  
26                         break;  
27                 }  
28                 d.dismiss();  
29             }  
30         }).setNegativeButton("取消", new DialogInterface.OnClickListener()  
31         {  
32             public void onClick(DialogInterface dialog, int id)  
33             {  
34                 d.dismiss();  
35             }  
36         });  
37         d = b.create();  
38         d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);  
39         d.show();  
40   
41         WindowManager.LayoutParams lp = d.getWindow().getAttributes();  
42         WindowManager wm = (WindowManager) context  
43                 .getSystemService(Context.WINDOW_SERVICE);  
44         Display display = wm.getDefaultDisplay();  
45         if (display.getHeight() > display.getWidth())  
46         {  
47             lp.width = (int) (display.getWidth() * 1.0);  
48         }  
49         else  
50         {  
51             lp.width = (int) (display.getWidth() * 0.5);  
52         }  
53         d.getWindow().setAttributes(lp);  
54     }  

注意:增加权限  <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

posted @ 2013-01-05 15:06  Shuaiwen8023  阅读(3969)  评论(0编辑  收藏  举报