Я использую внешний пакет, определяющий JunctionActor. Идея заключается в том, что JunctionActor может отправлять сообщения JSON на удаленный сервер с помощью метода sendMessage и получать сообщения через прослушиватель, вызывающий onMessageReceived. В моей реализации устройство получает каждое сообщение, которое оно отправляет, таким образом вызывая onMessageReceived. Тем не менее, в моем коде я включил объект ChatClient в свой класс активности, который должен вызывать метод show_message. show_message вызывает тост. Когда я вызываю show_message из onJoin, проблем вообще нет, но когда он вызывается из onMessageReceived, ничего не появляется, тогда как мой отладчик говорит мне, что приложение действительно получает сообщение и что onMessageReceived запускается. Между тем, вызов show_message в методе onJoin фактически работает. И я не вижу никакой разницы между ними обоими.
У вас есть решение?
Большое спасибо
public class HelloWorldJunctionActivity extends Activity {
onCreate(...){...} [...]
private class ChatClient extends JunctionActor {
public ChatClient() {
super("client");
}
public void onActivityJoin() {
show_message("Connected");
}
@Override
public void onMessageReceived(MessageHeader header, JSONObject msg) {
try {
show_message(msg.getString("text"));
} catch (JSONException e) {
// TODO Auto-generated catch block
show_message(e.getMessage());
}
}
}
void show_message(String message) {
Toast
.makeText(HelloWorldJunctionActivity.this, message, Toast.LENGTH_SHORT)
.show();
}
}