私のAndroidアプリでは、複数のアクティビティがあります。私はFacebookを利用しており、Facebookウォールにメッセージを投稿したり、Facebookから正常にログアウトしたりすることもできますが、別のアカウントでログインすると、正常にログインできますが、Facebookウォールにメッセージを投稿できません。メッセージを投稿するにはどうすればよいですか。複数のアカウントを持つFacebookで(メッセージを共有すると、現在のユーザーではなく前のユーザーの壁に移動します)。コードや提案を提供してください。これは私のコードです。
public boolean saveCredentials(Facebook facebook) {
Editor editor = getApplicationContext().getSharedPreferences(KEY,
Context.MODE_PRIVATE).edit();
editor.putString(TOKEN, facebook.getAccessToken());
editor.putLong(EXPIRES, facebook.getAccessExpires());
return editor.commit();
}
public boolean restoreCredentials(Facebook facebook) {
SharedPreferences sharedPreferences = getApplicationContext()
.getSharedPreferences(KEY, Context.MODE_PRIVATE);
facebook.setAccessToken(sharedPreferences.getString(TOKEN, null));
facebook.setAccessExpires(sharedPreferences.getLong(EXPIRES, 0));
return facebook.isSessionValid();
}
public void share(View button) {
msg = tv.getText().toString();
System.out.println("THIS is message to firstposttttttttttttt" + msg);
messageToPost = msg;
System.out.println("THIS is message to posttttttttttttt"
+ messageToPost);
if (!facebook.isSessionValid()) {
loginAndPostToWall();
} else {
postToWall(messageToPost);
}
}
public void loginAndPostToWall() {
facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH,
new LoginDialogListener());
}
public void postToWall(String message) {
byte[] data = null;
/* Bitmap bi = BitmapFactory.decodeFile(LoginActivity.hospitalImage);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();*/
Bundle parameters = new Bundle();
//parameters.putString("picture","http://www.indiatalkies.com/images/hospitals18400l.jpg" );
parameters.putString("message", message);
parameters.putString("link", "http://redkansoftware.com/");
parameters.putString("description", "topic share");
try {
facebook.request("me");
String response = facebook.request("me/feed", parameters, "POST");
// facebook.dialog(this, "feed", parameters,new
// LoginDialogListener());
Log.d("Tests", "got response: " + response);
System.out
.println("this is respose from facebookkkkkkkkkkkkkkkkkkkk"
+ response);
if (response == null || response.equals("")
|| response.equals("false")) {
showToast("Blank response.");
} else {
showToast("Message posted to your facebook wall!");
}
finish();
} catch (Exception e) {
showToast("Failed to post to wall!");
e.printStackTrace();
finish();
}
}
for logout am using ths code
Util.clearCookies(youractivity.this);
SessionStore.clear(youractivity.this);
thanks in advance.......