我应该使用推送通知服务吗?

时间:2012-03-09 22:27:11

标签: android

我想知道以下案例的最佳做法是什么:

我需要在我的Android客户端中继续打开一个套接字,该套接字侦听从服务器获取的消息并通过Toast消息通知用户。

我的第一个想法是使用单例并存储我用来与服务器通信的客户端:

这样我就可以使用以下方式发送消息:

MySingletonHere.getInstance().sendMessage("message");

我可能遇到的一个问题是当套接字收到传入消息时,在活动中做了一些事情。

处理它的一种方法是在Activity中使用:

MySingletonHere.getInstance().setMessageHandler(new MessageHandler() {
    public String handleMessage(String m) {
        Toast.make ...
    }
});

我想问的是,这是否被认为是一个“好”的解决方案,因为它不像一个人。可能有一个Android组件可以处理这种情况。我对Android开发知之甚少,但如果我理解正确,服务应该能够执行这样的事情吗?

由于

1 个答案:

答案 0 :(得分:0)

如果这些消息仅在关注消息的唯一活动位于前台时才重要,只需让活动处理套接字本身。

除此之外,你还需要一项服务,因为Android会以其他方式摆脱你的过程。只要服务运行的时间相当短,或者非常明显地在用户的控制之下(并且你也使用startForeground()),这将有效。