The NoteBook of EricKong

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

在非主Activity中点击下载按钮时,新建一个线程来下载文件。同时要在非主Activity中定义一个Handler来刷新下载进度。如果界面切到了主Activity界面,当文件下载完成后,非主Activity中的Handler仍会获得信息并处理。我选择在这时发送一个广播:

  

Handler handler 
= new Handler() {
        @Override
        
public void handleMessage(Message msg) {
            
if (msg.what == 1) {
             
int index= msg.getData().getInt("index");
          
if(index!=0){
           
//显示进度
          }
          
if(index>=100){
                 
if(当前是非主Activity){
                  
//隐藏进度,弹出下载完成提示
                 }else{
      
//给主Activity发送一个广播
                  Intent intent = new Intent("android.intent.action.MAIN");
         sendBroadcast(intent);
     }
          }
            }
        }
}; 



 同时,在主Activity中定义一个广播接收器,并处理


BroadcastReceiver mReceiver
=new BroadcastReceiver(){
 
public void onReceive(Context context, Intent intent) {
  
//刷新主Activity界面
  init();
 }
};
IntentFilter intentFilter 
= new IntentFilter("android.intent.action.MAIN");
registerReceiver(mReceiver, intentFilter);  
 


 
这样就实现我想要的功能。

posted on 2012-03-08 17:30 Eric_jiang 阅读(3166) 评论(1)  编辑  收藏 所属分类: Android

Feedback

# re: 于Activity之间使用广播来解决问题 2012-03-12 10:58 桑巴葡语翻译工作室
http://img.res.hp009.com/channel_css/yule/zt/zt/2010/married/  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: