概要
接口回调的本质与通告相同,但不同的是接口回调使用接口句柄获取对实现此接口的子类的引用并进行调用的通告使用父类句柄
实例
创建接口:
publicinterfacemybroadcastlistener {
语音识别(字符串值;
}
在BroadcastReceiver中初始化监听程序
publicclassmyreceiverextendsbroadcastreceiver {
私密性broadcastlistenerlistener;
publicmyreceiver (mybroadcastlistenerlistener ) {
this.listener=listener;
}
@Override
公共void onreceive (上下文上下文,Intent intent ) )
listener.do something (some result );
}
}
在Activity中实现接口并重写方法
publicmainactivityextendsappcompatactivityimplementsmybroadcastlistener {
隐私保护服务中心;
@Override
公共语音开启(bundles is ) {
//相关代码
接收方=newmyreceiver (this; //thisishowyouinitialisereceiver
//登录广播
.
}
publicvoidupdateui (字符串msg ) {
textviewtextview=(textview ) findviewbyid ) r.id.textview;
textview.settext(msg;
}
@Override
公共void do something (字符串结果) {
更新用户界面(结果);//呼叫方法自界面
}
}