基本上我有套接字类在我正在运行的活动的后台运行,该活动由活动初始化。发生的情况是,socket.io 服务器上的计算机可以向我发送一条记录到我能够在回调中接收的 android 应用程序的消息,但是我想将该消息传递给当前正在运行的活动,所以我可以使用意图。因为这将再次启动活动。所以这就是我尝试过的。
@Override
public void on(String event, IOAcknowledge ack, Object... data) {
// if((JSONObject) data[0]!=null)
//callback.on(event, (JSONObject) data[0]);
System.out.println("Server triggered event '" + event + "'");
//Log.d("Message","Yeah");
if (event.equals("message")) {
System.out.println(data[2]);
//System.out.println("Server sent this '" + data.getString("message") + "'");
Chat chatter=new Chat();
chatter.getMsg((String)data[2]);
}
}
这是接收回调的方法。如您所见,我在正在运行的活动上调用了一个方法来传递数据。就这个。
public void getMsg(String mssg){
//System.out.println(mssg);
HashMap mapper=new HashMap();
mapper.put("message"mssg);
mapper.put("name","them");
chatList.add(mapper);
//connect.start(msg);
ListAdapter adapter =new SimpleAdapter(
Chat.this, chatList,
R.layout.chat_view, new String[]{"message","name"},
new int[]{R.id.senderchatMessage, R.id.senderchatName}
);
setListAdapter(adapter);
//return msg;
}
此方法在活动中。但是我收到一个错误,上面写着 IllegalStateException: System services not available to Activities before onCreate() 我真的不明白这意味着什么。