android service刷新view第一次可以显示内容,往后无法显示的解决办法

程序中用service作为后台服务,使用handler刷新界面,将当前界面加入到一个list中,service中开启线程获取到数据后,取出list中的activity,刷新界面,
但刚开始死活都只能跑一次,第二次activity就刷新不了界面了 ,郁闷了半天,后来才发现,是加入到list中的activity一直没有移除导致,所以取出来的是上次已经退到不可见的activity,所以肯定是刷不出数据的, 解决方法有两种,一是在service中获取到当前activity后,移除该activity,二是在获取当前activity时判断取出的activity是否是待finish的activity。
public static Activity getActivityByName(String name)  
    {     
        for(Activity activity :allActivity)  
        {  
        if (activity .isFinishing())continue;
            if(activity .getClass().getName().indexOf(name)>=0)  
            {  
                 //activityQueue.remove(0);
                return activity ;    
            }  
        }  
        return null;  
    }




你可能感兴趣的:(android,String,list,service,null)