在AllJoyn for Android中有什么办法让我可以通过Wi-Fi路由器获取正在使用我的应用程序的设备数量?
答案 0 :(得分:0)
如果您的应用使用About feature,那么在您的监控应用中,您必须计算收到的通知的数量,并通过标识您的应用的其他about field进行过滤,而不是其他Alljoyn设备。
答案 1 :(得分:0)
取决于您的应用的使用方式。这个问题有点含糊不清,因为"设备使用我的应用程序"可能意味着您的应用程序在其他人设备中运行(他们通过安装它来使用您的应用程序),或者可能意味着您的应用程序正在提供wifi网络中的其他设备正在连接的服务(他们通过连接到它使用您的应用程序)作为远程客户端。)
我认为你的意思是第二个。
在服务应用程序中,绑定会话端口时,可以指定SessionPortListener。实现其sessionJoined()方法以跟踪加入并离开与您的应用程序的会话的远程对等方。
mBus.bindSessionPort(contactPort, sessionOpts, new SessionPortListener() {
@Override
public boolean acceptSessionJoiner(short sessionPort, String joiner, SessionOpts sessionOpts) {
return true;
}
@Override
public void sessionJoined(short sessionPort, int id, final String joiner) {
mPeers.add(joiner);
mBus.setSessionListener(id, new SessionListener() {
@Override
public void sessionLost(int sessionId, int reason) {
mPeers.remove(joiner);
}
});
}
});