0
Я искал различные способы поддержки офлайн-обмена сообщениями в своем приложении, но каждый из этих примеров включает в себя parseBareAdress и студию Android дает ошибку, заявляя, что она не может решить parseBareAdress. Он может решить все остальное. Вот мой кодAndroid smack.util.StringUtil не имеет parseBareAddress
import org.jivesoftware.smack.util.StringUtils;
public static void handleOfflineMessages(XMPPConnection connection, Context ctx)throws Exception {
OfflineMessageManager offlineMessageManager = new OfflineMessageManager(connection);
if (!offlineMessageManager.supportsFlexibleRetrieval()) {
Log.d(TAG,"Offline messages not supported");
return;
}
if (offlineMessageManager.getMessageCount() == 0) {
Log.d(TAG,"No offline messages found on server");
} else {
List<Message> msgs = offlineMessageManager.getMessages();
for (Message msg : msgs) {
String fullJid = msg.getFrom();
String bareJid = StringUtils.parseBareAddress(fullJid);
String messageBody = msg.getBody();
if (messageBody != null) {
Log.d(TAG,"Retrieved offline message from " +messageBody);
}
}
offlineMessageManager.deleteMessages();
}
}
Вот мои зависимости
compile 'org.igniterealtime.smack:smack-android-extensions:4.1.0-alpha6'
compile 'org.igniterealtime.smack:smack-tcp:4.1.0-alpha6'
Я искал тот же ответ. –
Это проблема, но вы можете разделить адрес рукой. У меня большая проблема, я не могу получить сообщения в автономном режиме? – Prethia
Да, я могу. Пинг меня в индивидуальном разговоре, если у вас есть какой-то конкретный запрос, я мог бы помочь. –