Używam asmacka do androidowej aplikacji IM, w której korzystam z usługi zdalnej z interfejsem AIDL.jak radzić sobie z utrzymywaniem połączenia przy życiu w Androidzie Serwis
Wewnątrz metody onStartCommand
mojej usługi piszę kod jak poniżej. Tworzę połączenie, a następnie loguję się przy użyciu tego. Kiedy ktokolwiek uruchomi moją aplikację wewnątrz onCreate
metoda głównej aktywności mojej aplikacji uruchom moją usługę getApplicationContext.StartService(serviceIntent)
. Działa to dobrze, ale po kilku minutach (czasem 10 minut i po pewnym czasie więcej niż dziesięciu) messageListener
dołączam wewnątrz przystanków serwisowych, aby odbierać wiadomości. Ale wiem, że połączenie istnieje, ponieważ w tym samym czasie używam xmppConnection
do wysyłania wiadomości, która wysyła wiadomość do użytkownika B, ale nie odbiera wiadomości od użytkownika B. Nie wiem, dlaczego mój słuchacz przestał słyszeć wiadomość.
public int onStartCommand(final Intent intent, final int flags, final int startId) {
ConnectionConfiguration config = new ConnectionConfiguration(URL, MyPort, Host);
xmppConnection = new XMPPConnection(config);
xmppConnection.connect();
xmppConnection.login("[email protected]", "testpass");
xmppConnection.addPacketListener(myMessageListener, new PacketTypeFilter(Message.class));
return START_STICKY;
}
private PacketListener myMessageListener = new PacketListener() {
public void processPacket(Packet packet) {
Message msg = (Message) packet;
}
}
Proszę podać.
Proszę sformatować swój kod i wybrać dobry tytuł dla swojego posta. – Flow
Problem polega na tym, że moje połączenie istnieje, ale przestaje słuchać pakietu. Używając tego połączenia, wołam sendPacket, który działa dobrze, ale nie wiem, dlaczego przestaje słuchać pakietu przychodzącego. Sprawdzam moją usługę również działającą w backendach, ponieważ mogę wysłaćPacket z usługa wysyłania pakietów wiadomości, proszę przypomnienie. Mam do czynienia z tym samym problemem, co opublikowany pod poniższym linkiem. http://stackoverflow.com/questions/5040852/packet-listener-in-android-service – aftab
Twój opublikowany link wydaje się być odpowiedzią ----> http://stackoverflow.com/questions/5040852/packet-listener -in-android-service – sascha10000