Android AllJoyn:如何发现运行我的应用程序的设备?

时间:2016-09-09 12:46:00

标签: android alljoyn

在AllJoyn for Android中有什么办法让我可以通过Wi-Fi路由器获取正在使用我的应用程序的设备数量?

2 个答案:

答案 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);
            }           
        });         
    }           
});