在非主Activity中點(diǎn)擊下載按鈕時(shí),新建一個(gè)線程來(lái)下載文件。同時(shí)要在非主Activity中定義一個(gè)Handler來(lái)刷新下載進(jìn)度。如果界面切到了主Activity界面,當(dāng)文件下載完成后,非主Activity中的Handler仍會(huì)獲得信息并處理。我選擇在這時(shí)發(fā)送一個(gè)廣播:
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 1) {
int index= msg.getData().getInt("index");
if(index!=0){
//顯示進(jìn)度
}
if(index>=100){
if(當(dāng)前是非主Activity){
//隱藏進(jìn)度,彈出下載完成提示
}else{
//給主Activity發(fā)送一個(gè)廣播
Intent intent = new Intent("android.intent.action.MAIN");
sendBroadcast(intent);
}
}
}
}
};
同時(shí),在主Activity中定義一個(gè)廣播接收器,并處理
BroadcastReceiver mReceiver=new BroadcastReceiver(){
public void onReceive(Context context, Intent intent) {
//刷新主Activity界面
init();
}
};
IntentFilter intentFilter = new IntentFilter("android.intent.action.MAIN");
registerReceiver(mReceiver, intentFilter);
這樣就實(shí)現(xiàn)我想要的功能。