-1

私の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.......
4

1 に答える 1

0

私はちょっと同じ問題に直面しました。以下のコードを更新して解決します。

   public void loginAndPostToWall() {
facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH,
        new LoginDialogListener());

}

于 2012-08-13T07:29:53.487 に答える