[原创]Android在任意窗口前弹出rss更新提醒对话框

2019-06-25 10:24:00
hjcadmin
原创
375
于是,在home的onCreate中另外开启一个线程,定时循环去server上取得rss并于现有rss进行对比。  解决方法:因为不明原因,不清楚是否是因为rss更新检测进行和rss的ui更新进程有冲突。简单的解决办法是,设置一个flag为true,在窗口弹出后将其设为false,  第三:当用户切换到android 桌面后,rss更新监视进程被阻断,这样用户再回到home无法及时取得rss信息。  原来是取出来application的context进行button的初始化!!!!!!!!马上在我的程式中实验:  因为目前对于service的用法还不熟悉,加上项目时间的限制,想先在现有的程式基础上进行修改,看是否能实现。  最开始想到的解决方案是开启一个service,定时进行rss的抓取和对比,然后弹出提醒对话框。  解决办法:因为home被再次从后台提出来时,会执行restart方法。则在restart中另外开一个rss检测线程,不过只执行一次就停止,不用无限循环。  本来想要通过上面的第二中方法来设置flag过滤掉屏幕翻转的动作,由于使用application更简单,就放弃的这个方法。  第二:线程在每次执行onCreate时会重复创建,因为屏幕方向每次转换的时候都执行onCreate!!  另外,在onCreate中的执行一次的进程为了防止在屏幕翻转时重复创建,也是放在取application判断进程是否为空的判断中。  可因为我是使用的activity模拟窗口,试过这两种都无法打开,另外还实验了其他的窗体级别:  兴奋之下,抓紧时间利用设计好的窗体view再次弹出窗体,惊讶的是,居然又失败了!!!!开发过程,真的是迭起。  客户有一个需求,当server上的rss进行更新时,希望可以弹出一个提醒对话框,通知用户现在有新的rss更新。  (想要做成从屏幕最下方状态栏中弹出提醒对话框,一时不知道如何进行,时间紧迫,有时间再研究了。)  第四:当用户在打开程式的状态下,如果一直不用pad,当设置弹出提醒框时间足够短时,会一直弹出对话框,造成home无法响应,阻塞掉主进程。  第五:这是个最严重的问题,因为在home中有调用android的browser还有播放器,另外还有书籍阅读程式,在这些程式执行时,提醒对话框无法弹出!!!!  是因为在窗体的view中添加了PositiveButton的缘故吗?开始猜想是不是因为alert只能有提醒的功能,完全无解了。  想到可不可以换另外一种方式,用Toast来实现,于是实验之下发现,Toast可以任意穿越!!!!太牛了。  只有在用户点击提醒对话框中button之后,才再次转为true,而在进行sendMessage之前判断是否为ture,只有在flag是true的时候,才进行rss取得和判断。  要在现有基础上修改的话,就先在home直接打开一个activity或窗口,看能否显示在最前面。  成功了!!!!竟然可以在任意程式前跳出窗体,既然切换到android桌面,因为home仍然在运行状态,窗体也能弹出!!  解决办法:将线程定义为全局变量,在onCreate时new,可是这样每次旋转屏幕都重新开始计时。于是想到在线程创建后,将线程对象保存到application中,  执行一次的控制方式为,设置一个flag,利用flag来停止进行,让系统自动回收。(不推荐使用stop()停止进程!)  另外,项目要求在用户最开始进入home就要进行一个rss更新检测,于是,在onCreate中同样新建一个线程,也只是执行一次。
文章分类
联系我们
联系人: newBB
Email: 1586171493@qq.com
QQ: 1586171493
网址: www.freemds.com