在Service中弹出Dialog 对话框线程servicehandle 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public void createDialog(String text) { final AlertDialog d = new Builder(getApplicationContext()).setMessage(text).setTitle(text).create(); d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); // 这句会使touch事件都失效 // d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY); d.setButton("cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { d.dismiss(); } }); d.show(); }<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />楼主可以试试在服务启动时调用这个方法,如果能弹出再修改成你要的位置就好了 你把Looper.prepare() 放到while(true)的前面,Looper.prepare() 放到whiel(true)循环结束处的外面。public void run() { Looper.prepare(); while(true) { 。 //弹出对话框 .... } Looper.prepare();} 有用,请教原理!不好意思,写错了个地方,第二句Lopper.prepare()改成Lopper.loop()我猜测你之前只能弹出一次是不是把Lopper.prepare() 和loop()放到while(true)循环内了,因为loop()方法是个for的死循环,也就是说线程走到loop()之后就一直在这个函数内执行,导致你的while(true)函数实际上只执行了一次循环。 help android4.0.3添加Ethernet框架支持 如何获取自定义的scrollview当前显示的大小? 关关于ListView使用! camera不预览但又能获得每一帧数据 如何让手机蓝牙连接到指定的蓝牙设备上? [转载20111005]完美版Android系统源代码新下载地址 关于真机测试的问题 编译4.4出现的问题 【求助】安卓通过servlet访问数据库问题 web加载引发的崩溃问题 android的java service,多个client,访问一块memory,需要做同步控制吗 关于安卓类画图类
final AlertDialog d = new Builder(getApplicationContext()).setMessage(text).setTitle(text).create();
d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
// 这句会使touch事件都失效
// d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY);
d.setButton("cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
d.dismiss();
}
});
d.show();
}<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />
楼主可以试试在服务启动时调用这个方法,如果能弹出再修改成你要的位置就好了
Looper.prepare();
while(true) {
。
//弹出对话框
....
}
Looper.prepare();
}
不好意思,写错了个地方,第二句Lopper.prepare()改成Lopper.loop()我猜测你之前只能弹出一次是不是把Lopper.prepare() 和loop()放到while(true)循环内了,
因为loop()方法是个for的死循环,也就是说线程走到loop()之后就一直在这个函数内执行,导致你的while(true)函数实际上只执行了一次循环。