在 Backendless 中,我可以通过一种方法订阅 channel 并监听传入消息。
Backendless.Messaging.subscribe(
channelName, //some random name
500, //500 ms interval for polling
new AsyncCallback<List<com.backendless.messaging.Message>>() {
@Override
public void handleResponse(List<com.backendless.messaging.Message> messages) {
System.out.println("message received on your channel");
}
@Override
public void handleFault(BackendlessFault backendlessFault) {
}
},
new AsyncCallback<Subscription>() {
@Override
public void handleResponse(Subscription subscription) {
System.out.println("You subscribed to channel" + subscription.getChannelName() + " succssesfuly");
}
@Override
public void handleFault(BackendlessFault backendlessFault) {
System.out.println("Error: " + backendlessFault.getMessage());
}
}
);
如果它从 MainActivity 订阅,并且当应用程序位于另一个 Activity 中时发送了数据,那么它如何从响应(第一个 handleResponse 方法中的 List)中获取数据并在其他 Activity 中使用它? 我应该使用服务吗?我应该使用监听器将 Activity 绑定(bind)到此服务吗?
或者有没有更简单的方法来满足我的需求?
在不久的将来,我希望这个监听器在应用程序位于后台时工作并向用户显示通知。
最佳答案
Backendless 使用两种类型的消息传递,请参阅 Publish-Subscribe Messaging & Push Notifications 。第一个是使用上面使用的监听器实现的。第二个使用服务。请参阅文档,尽管它们并不是很好,但它们确实提供了必要的信息。
关于java - Backendless - 我应该从服务订阅 channel 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41144018/