Tiyana
سه شنبه 17 تیر 1393, 13:27 عصر
سلام،من یه برنامه چت دارم که میاد به سرور google talk وصل میشه و با رمز و پسورد جیمیل اتصال برقرار میشه اما موقعی که میخوام لیست افراد حاضر رو داشته باشم getRoster هیچی برنمیگردونه و هیچ فردی رو پیدا نمیکنه کسی میدونه مشکل از چیه؟
public void connect()
{
final ProgressDialog dialog = ProgressDialog.show(this," در حال اتصال به سرور...", "لطفا صبر کنید...", false);
Thread t = new Thread(new Runnable()
{
@Override
public void run()
{
// Create a connection
ConnectionConfiguration connConfig = new ConnectionConfiguration(HOST, PORT, SERVICE);
XMPPConnection connection = new XMPPConnection(connConfig);
//ConnectionConfiguration config = new ConnectionConfiguration("192.168.0.101", 5222);
//XMPPConnection connection = new XMPPConnection("192.168.0.101");
try
{
connection.connect();
Log.i("XMPPChatDemoActivity","Connected to " + connection.getHost());
}
catch (XMPPException ex)
{
Log.e("XMPPChatDemoActivity", "Failed to connect to "+ connection.getHost());
Log.e("XMPPChatDemoActivity", ex.toString());
setConnection(null);
}
try
{
//SASLAuthentication.supportSASLMechanism("PLAIN", 0);
connection.login(USERNAME, PASSWORD);
Log.i("XMPPChatDemoActivity","Logged in as " + connection.getUser());
// Set the status to available
Presence presence = new Presence(Presence.Type.available);
connection.sendPacket(presence);
setConnection(connection);
Roster roster = connection.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
for (RosterEntry entry : entries)
{
Log.d("XMPPChatDemoActivity","--------------------------------------");
Log.d("XMPPChatDemoActivity", "RosterEntry " + entry);
Log.d("XMPPChatDemoActivity",
"User: " + entry.getUser());
Log.d("XMPPChatDemoActivity",
"Name: " + entry.getName());
Log.d("XMPPChatDemoActivity",
"Status: " + entry.getStatus());
Log.d("XMPPChatDemoActivity",
"Type: " + entry.getType());
Presence entryPresence = roster.getPresence(entry.getUser());
Log.d("XMPPChatDemoActivity", "Presence Status: "+ entryPresence.getStatus());
Log.d("XMPPChatDemoActivity", "Presence Type: "+ entryPresence.getType());
Presence.Type type = entryPresence.getType();
if (type == Presence.Type.available)
Log.d("XMPPChatDemoActivity", "Presence AVIALABLE");
Log.d("XMPPChatDemoActivity", "Presence : "+ entryPresence);
}
}
catch (XMPPException ex)
{
Log.e("XMPPChatDemoActivity", "Failed to log in as "+ USERNAME);
Log.e("XMPPChatDemoActivity", ex.toString());
setConnection(null);
}
dialog.dismiss();
}
});
t.start();
dialog.show();
}
}
public void connect()
{
final ProgressDialog dialog = ProgressDialog.show(this," در حال اتصال به سرور...", "لطفا صبر کنید...", false);
Thread t = new Thread(new Runnable()
{
@Override
public void run()
{
// Create a connection
ConnectionConfiguration connConfig = new ConnectionConfiguration(HOST, PORT, SERVICE);
XMPPConnection connection = new XMPPConnection(connConfig);
//ConnectionConfiguration config = new ConnectionConfiguration("192.168.0.101", 5222);
//XMPPConnection connection = new XMPPConnection("192.168.0.101");
try
{
connection.connect();
Log.i("XMPPChatDemoActivity","Connected to " + connection.getHost());
}
catch (XMPPException ex)
{
Log.e("XMPPChatDemoActivity", "Failed to connect to "+ connection.getHost());
Log.e("XMPPChatDemoActivity", ex.toString());
setConnection(null);
}
try
{
//SASLAuthentication.supportSASLMechanism("PLAIN", 0);
connection.login(USERNAME, PASSWORD);
Log.i("XMPPChatDemoActivity","Logged in as " + connection.getUser());
// Set the status to available
Presence presence = new Presence(Presence.Type.available);
connection.sendPacket(presence);
setConnection(connection);
Roster roster = connection.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
for (RosterEntry entry : entries)
{
Log.d("XMPPChatDemoActivity","--------------------------------------");
Log.d("XMPPChatDemoActivity", "RosterEntry " + entry);
Log.d("XMPPChatDemoActivity",
"User: " + entry.getUser());
Log.d("XMPPChatDemoActivity",
"Name: " + entry.getName());
Log.d("XMPPChatDemoActivity",
"Status: " + entry.getStatus());
Log.d("XMPPChatDemoActivity",
"Type: " + entry.getType());
Presence entryPresence = roster.getPresence(entry.getUser());
Log.d("XMPPChatDemoActivity", "Presence Status: "+ entryPresence.getStatus());
Log.d("XMPPChatDemoActivity", "Presence Type: "+ entryPresence.getType());
Presence.Type type = entryPresence.getType();
if (type == Presence.Type.available)
Log.d("XMPPChatDemoActivity", "Presence AVIALABLE");
Log.d("XMPPChatDemoActivity", "Presence : "+ entryPresence);
}
}
catch (XMPPException ex)
{
Log.e("XMPPChatDemoActivity", "Failed to log in as "+ USERNAME);
Log.e("XMPPChatDemoActivity", ex.toString());
setConnection(null);
}
dialog.dismiss();
}
});
t.start();
dialog.show();
}
}