Ich habe meine App geändert, um Smack 4.2 zu ersetzen Smack 4.1Wie verwende ich Smack 4.2 zum Verbinden mit ejabberd?
Aber ich bekomme einen Fehler in der config.setServiceName();
Der Parameter für diese Methode wurde von String in DomainBareJid geändert. Ich weiß nicht, wie DomainBareJid und setServiceName in diesem neuen Smack verwenden.
XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration
.builder();
config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
config.setServiceName("What should i put here?");
config.setHost(serverAddress);
config.setPort(5222);
config.setDebuggerEnabled(true);
connection = new XMPPTCPConnection(config.build());
connection.setUseStreamManagement(true);
Und wenn ich den Service-Name nicht gesetzt ist, dann bekomme ich folgende Fehlermeldung:
03-28 13:44:29.834: E/AndroidRuntime(7104): FATAL EXCEPTION: main
03-28 13:44:29.834: E/AndroidRuntime(7104): java.lang.RuntimeException: Unable to create service com.marothiatechs.cpm.MyService: java.lang.IllegalArgumentException: Must provide XMPP service name
03-28 13:44:29.834: E/AndroidRuntime(7104): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2715)
03-28 13:44:29.834: E/AndroidRuntime(7104): at android.app.ActivityThread.access$1600(ActivityThread.java:153)
03-28 13:44:29.834: E/AndroidRuntime(7104): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)
03-28 13:44:29.834: E/AndroidRuntime(7104): at android.os.Handler.dispatchMessage(Handler.java:99)
03-28 13:44:29.834: E/AndroidRuntime(7104): at android.os.Looper.loop(Looper.java:137)
03-28 13:44:29.834: E/AndroidRuntime(7104): at android.app.ActivityThread.main(ActivityThread.java:5289)
03-28 13:44:29.834: E/AndroidRuntime(7104): at java.lang.reflect.Method.invokeNative(Native Method)
03-28 13:44:29.834: E/AndroidRuntime(7104): at java.lang.reflect.Method.invoke(Method.java:525)
03-28 13:44:29.834: E/AndroidRuntime(7104): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
03-28 13:44:29.834: E/AndroidRuntime(7104): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
03-28 13:44:29.834: E/AndroidRuntime(7104): at dalvik.system.NativeStart.main(Native Method)
03-28 13:44:29.834: E/AndroidRuntime(7104): Caused by: java.lang.IllegalArgumentException: Must provide XMPP service name
03-28 13:44:29.834: E/AndroidRuntime(7104): at org.jivesoftware.smack.ConnectionConfiguration.<init>(ConnectionConfiguration.java:106)
03-28 13:44:29.834: E/AndroidRuntime(7104): at org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration.<init>(XMPPTCPConnectionConfiguration.java:52)
03-28 13:44:29.834: E/AndroidRuntime(7104): at org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration.<init>(XMPPTCPConnectionConfiguration.java:36)
03-28 13:44:29.834: E/AndroidRuntime(7104): at org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration$Builder.build(XMPPTCPConnectionConfiguration.java:126)
03-28 13:44:29.834: E/AndroidRuntime(7104): at com.marothiatechs.cpm.MyXMPP.initialiseConnection(MyXMPP.java:134)
03-28 13:44:29.834: E/AndroidRuntime(7104): at com.marothiatechs.cpm.MyXMPP.init(MyXMPP.java:119)
03-28 13:44:29.834: E/AndroidRuntime(7104): at com.marothiatechs.cpm.MyXMPP.<init>(MyXMPP.java:84)
03-28 13:44:29.834: E/AndroidRuntime(7104): at com.marothiatechs.cpm.MyXMPP.getInstance(MyXMPP.java:93)
03-28 13:44:29.834: E/AndroidRuntime(7104): at com.marothiatechs.cpm.MyService.onCreate(MyService.java:74)
03-28 13:44:29.834: E/AndroidRuntime(7104): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2705)
Bitte helfen Sie, indem Sie einige Beispielcode Bereitstellung der service einzustellen.
ich verwendet habe endlich eine freigegebene Version von Smack 4.1 und veröffentlicht die vollständige Umsetzung hier: http://marothiatechs.blogspot.in/2015/08/building-your-own-android-chat_18.html –