0
Ich suchte nach verschiedenen Möglichkeiten, Offline-Messaging in meiner Anwendung zu unterstützen, aber jedes dieser Beispiele enthalten parseBareAdress und Android Studio gibt Fehler, die besagt, dass es parseBareAdress nicht auflösen kann. Es kann alles andere auflösen. Hier ist mein CodeAndroid smack.util.StringUtil hat keine 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();
}
}
hier meine Abhängigkeiten sind
compile 'org.igniterealtime.smack:smack-android-extensions:4.1.0-alpha6'
compile 'org.igniterealtime.smack:smack-tcp:4.1.0-alpha6'
Ich habe für die gleiche Antwort suchen. –
Das ist ein Problem, aber Sie können die Adresse mit der Hand teilen. Ich habe ein größeres Problem, ich kann die Offline-Nachrichten nicht bekommen, oder? – Prethia
Ja, ich kann. Ping mich auf individuelle Konversation, wenn Sie eine bestimmte Frage haben, könnte ich helfen können. –