我正在尝试使用这些项目使用WebRTC创建一个Android应用程序:
使用此存储库:io.prinstine.libjingle
当两个客户端通过wifi连接到网络时,此项目运行良好,但当其中一个客户端通过蜂窝数据连接时,它无法正常工作。
我试图找到源代码,看看发现了什么,我找到了这个静态类:
public static class Options {
// Keep in sync with webrtc/base/network.h!
static final int ADAPTER_TYPE_UNKNOWN = 0;
static final int ADAPTER_TYPE_ETHERNET = 1 << 0;
static final int ADAPTER_TYPE_WIFI = 1 << 1;
static final int ADAPTER_TYPE_CELLULAR = 1 << 2;
static final int ADAPTER_TYPE_VPN = 1 << 3;
static final int ADAPTER_TYPE_LOOPBACK = 1 << 4;
public int networkIgnoreMask;
}
我发现这行代码引用了使用此类的本机方法:
public void setOptions(Options options) {
nativeSetOptions(nativeFactory, options);
}
public native void nativeSetOptions(long nativeFactory, Options options);
问题是如何启用蜂窝数据连接?或者如果你能帮助我找到这个项目中使用的原生方法的来源以更好地理解结构,我将不胜感激。
答案 0 :(得分:0)
从你所说的我认为你使用的库默认是通过wifi连接,所以如果你计划使用蜂窝数据,那么我认为你应该对它进行测试然后使用库中找到的setoptions方法,否则库或您的应用程序将继续尝试通过wifi建立连接。