service里面弹出对话框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了service里面弹出对话框相关的知识,希望对你有一定的参考价值。

 

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

看看效果图:(直接在主桌面上弹出)
技术分享


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" />

以上是关于service里面弹出对话框的主要内容,如果未能解决你的问题,请参考以下文章

android中怎么用接收到广播后弹出对话框

android service可以通过windowmanager弹出对话框吗

电脑开机弹出scan对话框Could not start service

Android实战开发篇 浅析Android Service中实现弹出对话框

无法访问局域网其他计算机

android Service中启动Dialog