【问题标题】:facing problem using smack on android在 android 上使用 smack 面临问题
【发布时间】:2010-09-20 10:31:45
【问题描述】:

我在 Android 应用程序中有一个按钮。单击按钮时,将调用以下代码:

TestSmack a = new TestSmack();
a.login("abc@gmai.com","password");

我有一个TestSmack类.....在我写的这个类的构造函数中

public TestSmack ()
{
    ConnectionConfiguration connConfig = new 
          ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
    connection = new XMPPConnection(connConfig);
}

其中 XMPPConnection 连接是一个全局变量。在登录方法中我尝试连接到服务器:

public void login(String userName, String password) throws XMPPException
{
    SASLAuthentication.supportSASLMechanism("PLAIN", 0);
    connection.connect();    
    connection.login(userName, password);
}

但它崩溃了。我不知道发生了什么。

而当我从 main() 调用这些所有方法并在单独的项目(Java,而不是 Android)中运行一个简单的 Java 应用程序时,它工作正常。

我无法弄清楚问题所在。

谢谢

【问题讨论】:

    标签: android smack


    【解决方案1】:

    您使用的是标准的 Smack 库吗?几个月前,当我在玩 XMPP 时,您必须对库进行修补才能使其在 Android 上运行。也许这会有所帮助:

    http://davanum.wordpress.com/2008/12/29/updated-xmpp-client-for-android/

    【讨论】:

    • 谢谢您的回复。实际上,当通过 android 访问 XMPP 服务器时,我们需要在 android.manifest 文件中添加以下行: 为功能连接和登录工作....我希望它会帮助别人
    【解决方案2】:

    如果有人无法在 android 上运行程序,请检查 connect() 和 login() SMACK API 是否工作正常。因为我发现你需要添加

    uses-permission android:name="android.permission.INTERNET"(将其括在 单独的大括号内)

    在 AndroidManifest 文件中让 connect() 和 login() 工作。别忘了使用修补过的 Smack.jar。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      • 2012-09-09
      相关资源
      最近更新 更多