XMPP で他のユーザーに友達リクエストを送信したときに、他のユーザーがそれを拒否したい場合、名簿からエントリを削除する必要がありますが、ユーザーからエントリを削除することはできません。それは私に強制終了を与えています(ヌルポインタ例外あり)
これが私の拒否ボタンのコードです
btn_Deny = (Button)findViewById(R.id.btn_manageNotification_DENY);
btn_Deny.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Presence unsubscribe = new Presence(Presence.Type.unsubscribed);
unsubscribe.setTo(id);
connection.sendPacket(unsubscribe);
/*String message = mXmconn.removeFriend(subID, CMMStaticVariable.CommonConnection);
System.out.println(message);*/
Intent returnBack = new Intent(ManageNotification.this, UserMenuActivity.class);
startActivity(returnBack);
finish();
}
});
}
友達を削除
public String removeFriend(String jid, XMPPConnection connection){
roster = connection.getRoster();
String message = "";
try {
RosterEntry rosterEntry = roster.getEntry("chamak@abec.info.com");
System.out.println("rosterEntryy"+rosterEntry.toString());
roster.removeEntry(rosterEntry);
message = "You have denied the friend request";
} catch (XMPPException e) {
e.printStackTrace();
message = "Exception";
}
return message;
}
rosterEntry = null; で null ポインターを与えています。
ありがとう