两个Activity之间用接口回调进行通信

时间:2021-05-04 20:14:59
因为刚接触的一个项目是蓝牙连接,需求是要在扫描界面点击条目进行连接  
时,在跳转的另一个activity(姑且先叫它连接界面吧)上显示连接的过程,
也就是弹出一个dialog,所以就需要用接口回调的方式实现它.但是我之前
写接口回调没有在两个activity之间进行过接口回调,所以就自己想了下写
了下面一段代码.

先定义一个接口:

public interface ConnectionStateListener {
void onConnecting();
void onConnected();
void onDisConnected();
}

在定义一个接口管理类:

public class ConnectionStateListenerManager {
private ConnectionStateListener mListener;

private ConnectionStateListenerManager() {
}

private static final ConnectionStateListenerManager manager = new ConnectionStateListenerManager();

public static ConnectionStateListenerManager getInstance() {
return manager;
}

public void setConnectionStateListener(ConnectionStateListener mListener) {
this.mListener = mListener;
}

public void connected() {
if (mListener != null) {
mListener.onConnected();
}
}

public void connecting(){
if (mListener!=null){
mListener.onConnecting();
}
}

public void disconnected(){
if (mListener != null){
mListener.onDisConnected();
}
}
}

注意上面的接口管理类必须用单例模式,否则会空指针异常.
最后在扫描界面得到管理类对象,并调用其中的方法,在连接界面调用setConnectionStateListener()方法,并实现接口中的方法,这就可以了.

本人菜鸟一个,欢迎大家指正.谢谢!