Android学习笔记_74_可以通过广播来通知回调函数触发

时间:2014-05-16 18:54:54   收藏:0   阅读:442

1、比如登录。假如下面这个方法是外界调用的,那么怎样在LoginActivity里面执行登录操作,成功之后在回调listener接口呢?如果是平常的类,可以通过构造函数将监听类对象传入即可。但是在Activity中不能传递监听对象,所以考虑使用广播来实现。

bubuko.com,布布扣
public void login(final LoginOnClickListener listener) {
        Intent intent = new Intent(context, LoginActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        BroadcastReceiver mReceiver = new BroadcastReceiver() {
            public void onReceive(Context context, Intent intent) {
                listener.handleLogin(true, "receiver .. BroadcastReceiver .. ");
            }
        };
        IntentFilter intentFilter = new IntentFilter("android.intent.action.MAIN");
        context.registerReceiver(mReceiver, intentFilter);
        context.startActivity(intent);
}
bubuko.com,布布扣

2、在LoginActivity类中登录成功之后,发送一个广播通知登录成功。

 Intent intent = new Intent("android.intent.action.MAIN");  
 sendBroadcast(intent);

参考:http://buddie.iteye.com/blog/977352

Android学习笔记_74_可以通过广播来通知回调函数触发,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!