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应用程序检测到此信号。