广播后刷新界面-调用其他界面的方法触动广播后刷新该界面UI

时间:2023-03-10 01:09:28
广播后刷新界面-调用其他界面的方法触动广播后刷新该界面UI

new CigaretteLoginActivity().login(ac,"switch_account",list.get(arg2).CUST_CODE,list.get(arg2).PWD,CommUtils.getPhone(ac),db);

发一个广播:

  Intent intent = new Intent("com.andruby.cigarette.CigaretteHomeActivity");
ac.sendBroadcast(intent);

主界面接收广播:

public    class onFresh extends BroadcastReceiver{

        @Override
public void onReceive(Context arg0, Intent arg1) {
Log.e("tag",",,,,,xxxxxxx");
if(dialog!=null && dialog.isShowing()){
dialog.dismiss();
}
setResume(); } }

在该主界面注册(不要在mainfest.xml里注册,因为必须要用静态方法才能找到,但广播是静态就不好调用非静态方法):

onFresh onfresh= new onFresh (); //实例化过滤器并设置要过滤的广播  IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("com.andruby.cigarette.CigaretteHomeActivity"); //注册广播 this.registerReceiver(onfresh, intentFilter);

当然要销毁:

 @Override
protected void onDestroy() {
unregisterReceiver(onfresh);
super.onDestroy();
}