如何在service里面弹出对话框

先给一个需求:需要在service里面监听短信的接收,如果接收到短信了,弹出一个dialog来提示用户打开。

看看效果图:(直接在主桌面上弹出)
如何在service里面弹出对话框


service中弹出提示框:
			AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
			alertDialog.setMessage("有新消息,是否查看?");
			alertDialog.setPositiveButton("否",
					new DialogInterface.OnClickListener()
					{
						public void onClick(DialogInterface dialog, int which)
						{
						}
					});
	
			alertDialog.setNegativeButton("是",
					new DialogInterface.OnClickListener()
					{
						public void onClick(DialogInterface dialog, int which)
						{
						}
					});
	
			ad = alertDialog.create();
			
	        ad.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);  
	        ad.setCanceledOnTouchOutside(false);//点击外面区域不会让dialog消失                               
	        ad.show();


可别忘了在manifest上加上权限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />



其实要想实现这个效果,还有另外一个方法,不弹出dialog,直接打开一个activity,不过背景设成透明则可

你可能感兴趣的:(android)