首页 > 系统 > Android > 正文

Android中BroadcastReceiver案例讲解

2019-12-12 00:15:38
字体:
来源:转载
供稿:网友

前言

我们在注册一款App的时候,如果注册成功的话,那么我们就直接跳过登陆界面,直接进入主界面,那么我们现在就通过BroadcastReceiver来实现这个功能:

(1)注册界面RegisterActivity.java,这里跳过了一些基本的操作,直接调用的是注册方法signUp()方法:

btn_reg.signUp(RegisterActivity.this, new SaveListener() {      @Override      public void onSuccess() {        progress.dismiss();        ShowToast("注册成功");        /** 注册成功,发广播通知登陆页面退出  **/        sendBroadcast(new Intent(Constants.ACTION_REGISTER_SUCCESS_FINISH));        // 启动主页面        Intent intent = new Intent(RegisterActivity.this,MainActivity.class);        startActivity(intent);        finish();      }      @Override      public void onFailure(int arg0, String arg1) {        BmobLog.i(arg1);        ShowToast("注册失败:" + arg1);        progress.dismiss();      }    });

我们可以看到,已经发送了一个广播,广播名为:Constants.ACTION_REGISTER_SUCCESS_FINISH)

(2)如何通知登陆界面哪?下边就是登陆界面的实现:

我们需要在登陆界面的onCreate方法中进行动态注册一个广播接受者:

@Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_login);    //动态注册一个广播接受者    //注册退出广播:就是一开始注册的时候,注册成功的话就退出登陆界面,直接进入主界面    IntentFilter filter = new IntentFilter();    // 注册成功之后登陆页面退出    // public static final String ACTION_REGISTER_SUCCESS_FINISH ="register.success.finish";    filter.addAction(BmobConstants.ACTION_REGISTER_SUCCESS_FINISH);     registerReceiver(receiver, filter); //注册进去  }

另外值得注意的是,我们通过动态注册的一个广播接受者的haunted,我们就需要在onDestroy()方法中接触绑定:

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

(3)下边是自己定义的一个广播接受者的类,用于匹配意图的时候,将login界面finish:

  public class MyBroadcastReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {      //如果匹配的话,就执行finnish()      if (intent != null && BmobConstants.ACTION_REGISTER_SUCCESS_FINISH.equals(intent.getAction())) {        finish(); //注册成功之后,将登陆界面finish()      }    }  }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对武林网的支持。如果你想了解更多相关内容请查看下面相关链接

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表