Android alljoyn的公开信号

Android alljoyn的公开信号,android,alljoyn,Android,Alljoyn,我正在尝试创建一个应用程序,它将通过所有总线宣布信号。您不需要连接到总线中的特定对象的想法。 我看到接口可以是内省的,但当总线对象在总线上注册时,我发现这个接口会自动添加到总线对象中。 所以问题是如何让信号在公交车上可见 接口: @BusInterface(name = Door.DOOR_INTF_NAME, announced = "true") public interface Door { String DOOR_INTF_NAME = "com.example.Door";

我正在尝试创建一个应用程序,它将通过所有总线宣布信号。您不需要连接到总线中的特定对象的想法。 我看到接口可以是内省的,但当总线对象在总线上注册时,我发现这个接口会自动添加到总线对象中。 所以问题是如何让信号在公交车上可见

接口:

@BusInterface(name = Door.DOOR_INTF_NAME, announced = "true")
public interface Door {

    String DOOR_INTF_NAME = "com.example.Door";
    String PERSON_PASSED_THROUGH = "PersonPassedThrough";

    @BusSignal(name = PERSON_PASSED_THROUGH, sessionless = true)
    void personPassedThrough(String person) throws BusException;
}
出版:

private void doRegisterBusObject(Object obj) {
    LocatableBusObject object = (LocatableBusObject) obj;
    String location = object.getBusObjectLocation();
    if (!location.startsWith("/")) {
        location = "/" + location;
    }
    // Register the object on the local bus
    Status status = bus.registerBusObject(object, location);
    if (Status.OK != status) {
        return;
    }
    // Have About send a signal a new door is available.
    aboutObj.announce(CONTACT_PORT, aboutData);
}

对象可见,但信号不可见。

基本上,路由器添加了接口org.allseen.Introspectable,只有在我们宣布@BusInterface的描述时才会添加


在此之前,我们将不会有这个接口。

可能会添加
status=bus.addMatch(“无会话='t')@Lino,您好,我在哪里可以找到有关总线连接规则的信息?我所看到的只是添加规则,但它在做什么和一些示例呢?因为
addMatch
添加了一个DBUS匹配规则,我想您可以在这里看一下:@Lino,因为我不知道这些规则只为客户端应用程序添加,而不是为提供者添加。关于这篇文章,提供者应该只使用无会话信号注册总线对象,就是这样。但是这种方法在我的应用程序中不起作用。我无法通过示例中的EventsActionBrowser应用程序检测到此信号。