我有一个用react native编写的android应用程序,我想连接到2个不同的mqtt服务器。
第一个服务器在raspberry pi上,我通过蓝牙pan连接到它。但第二台服务器位于不同的机器上,因此我只能通过wifi或移动数据访问它。
如果我有可用的wifi或移动数据,那么我无法连接到pi上的第一台服务器,因此我必须将蓝牙设置为默认网络:
ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkRequest.Builder request = new NetworkRequest.Builder();
request.addTransportType(NetworkCapabilities.TRANSPORT_BLUETOOTH);
connMgr.registerNetworkCallback(request.build(), new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
// TODO: Replace with `bindProcessToNetwork`
ConnectivityManager.setProcessDefaultNetwork(network);
}
}
);
但现在第二台服务器无法访问,因为默认情况下,它会尝试通过蓝牙访问它。如果我关闭蓝牙,那么我可以访问它,因为它使用wifi。
因此,我的问题是如何定义(如果可能的话)每个连接的默认网络?
暂无答案!
目前还没有任何答案,快来回答吧!