In方法
NetworkPathStateChanged
你没有对可用性状态做任何操作。通常您会将其存储在内部,如下所示:
private TAvailabilityState availablilityState = null; // or a more suiteable initial value
@Override
public void NetworkPathStateChanged(TAvailabilityState availabilityState) {
this.availabilityState = availabilityState;
Log.d("SipNetworkPath", "SipNetworkPath - Do networkpathstate changed!");
}
那么,在方法上
isAlive
你会根据国家做出回应:
@Override
public boolean isAlive() {
return availabilityState == TAvailabilityState.ALIVE; // <-- this is just a guess, I don't know this class or enum.
}
NetworkPathJniObserver
必须存在于某个地方,否则类路径上仍有旧的类文件。只是因为:如果
isAlive()
方法返回
false
而源代码中的一个不能,那么
必须
在你的应用程序中有一些其他的代码。
我会添加一些调试代码到方法中,以清楚地记录
哪一个
实例实际上被调用(我的猜测是,最后编译的版本还没有部署……)