1. 定义接口
public interface NetEvevt {
public void onNetChange(int netMobile);
}
2. 实现回调接口
public class MainActivity extends AppCompatActivity implements NetEvevt{
// 定义静态变量
public static NetEvevt evevt;
CustomerReceiver customerReceiver=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 赋值给变量
evevt=this;
if(customerReceiver==null){
customerReceiver=new CustomerReceiver();
IntentFilter filter = new IntentFilter("com.denganzhi.greendao.CustomerReceiver.action");
registerReceiver(customerReceiver, filter);
}
}
// 实现接口,重写方法
@Override
public void onNetChange(int netMobile) {
Toast.makeText(MainActivity.this,"netMobile:"+netMobile,Toast.LENGTH_SHORT).show();
}
public void methodClick(View view){
Intent intent = new Intent("com.denganzhi.greendao.CustomerReceiver.action");
sendBroadcast(intent);
}
@Override
protected void onDestroy() {
super.onDestroy();
if(customerReceiver!=null){
unregisterReceiver(customerReceiver);
customerReceiver=null;
}
}
}
3. 广播发送
public class CustomerReceiver extends BroadcastReceiver {
public NetEvevt evevt = MainActivity.evevt;
@Override
public void onReceive(Context context, Intent intent) {
// TODO: This method is called when the BroadcastReceiver is receiving
// an Intent broadcast.
// Toast.makeText(context,"收到",Toast.LENGTH_LONG).show();
// 获取实现方法的类,调用方法
if(evevt!=null){
evevt.onNetChange(110);
}
}
// 自定义接口
// public interface NetEvevt {
// public void onNetChange(int netMobile);
// }
}