기본적으로 활동에 의해 초기화 된 실행중인 활동의 백그라운드에서 실행되는 소켓 클래스가 있습니다. 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 : 시스템 서비스를 사용할 수 없습니다 onCreate() 전에 사용할 수 없다는 오류 메시지가 나타납니다. 나는 그것이 실제로 무엇을 의미하는지 이해하지 못합니다.
고마워. –
잠깐. Context 유형의 mContent입니까? 당신은 명확히하는 것을 잊었습니다. –
@MichaelNana 지금 잡아라. 'mContext'에 대해 조심스럽게 말하면, 위의 두 번 mContent로 철자가 잘못되었습니다. – Vikram