2013-04-11 2 views
0

Мне нужно интегрироваться с facebook в Android-приложении.Интеграция с facebook в android

Здесь я должен нажать кнопку, значит, открыта страница регистрации fb. Если мне нужно ввести правильную страницу входа, значит, сообщение открывается на стену.

Здесь я должен написать текст, который означает, что это сообщение для fb стены успешно. Но я хочу передать строковое значение здесь. Это строковое значение отображается на этом блоке edittext также на стене. Как я могу это сделать? ??

Я используя код ниже:

public class AndroidFacebookConnectActivity extends Activity { 

// Your Facebook APP ID 
private static String APP_ID = "xxxxx"; // Replace with your App ID 

// Instance of Facebook Class 
private Facebook facebook = new Facebook(APP_ID); 
private AsyncFacebookRunner mAsyncRunner; 
String FILENAME = "AndroidSSO_data"; 
private SharedPreferences mPrefs; 


Button btnFbLogin; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    btnFbLogin = (Button) findViewById(R.id.btn_fblogin); 
    mAsyncRunner = new AsyncFacebookRunner(facebook); 
    btnFbLogin.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Log.d("Image Button", "button Clicked"); 
      loginToFacebook(); 
     } 
    }); 
    } 


public void loginToFacebook() { 

    mPrefs = getPreferences(MODE_PRIVATE); 
    String access_token = mPrefs.getString("access_token", null); 
    long expires = mPrefs.getLong("access_expires", 0); 

    if (access_token != null) { 
     facebook.setAccessToken(access_token); 

     btnFbLogin.setVisibility(View.INVISIBLE); 

     postToWall(); 
    Log.d("FB Sessions", "" + facebook.isSessionValid()); 
    } 

    if (expires != 0) { 
     facebook.setAccessExpires(expires); 
    } 

    if (!facebook.isSessionValid()) { 
     facebook.authorize(this, 
       new String[] { "email", "publish_stream" }, 
       new DialogListener() { 

        @Override 
        public void onCancel() { 
         // Function to handle cancel event 
        } 

        @Override 
        public void onComplete(Bundle values) { 

         SharedPreferences.Editor editor = mPrefs.edit(); 
         editor.putString("access_token", 
           facebook.getAccessToken()); 
         editor.putLong("access_expires", 
           facebook.getAccessExpires()); 
         editor.commit(); 
         btnFbLogin.setVisibility(View.INVISIBLE); 

        postToWall(); 

        } 

        @Override 
        public void onError(DialogError error) { 
         // Function to handle error 

        } 

        @Override 
        public void onFacebookError(FacebookError fberror) { 
         // Function to handle Facebook errors 

        } 

       }); 
    } 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    facebook.authorizeCallback(requestCode, resultCode, data); 
} 
public void postToWall() { 
    // post on user's wall. 
    facebook.dialog(this, "feed", new DialogListener() { 

     @Override 
     public void onFacebookError(FacebookError e) { 
     } 

     @Override 
     public void onError(DialogError e) { 
     } 

     @Override 
     public void onComplete(Bundle values) { 
      String sh="Krish"; 
      Bundle params = new Bundle(); 

      params.putString("message", sh); 
      params.putString("name", sh); 

     } 

     @Override 
     public void onCancel() { 
     } 
    }); 

}} 

Вот как я могу отправить Строка ш = "Криш"; значение на FB wall.how может я отображать эти Криш значение на фб text.please дать мне несколько предложений ...

EDIT:

Это мой обновленный OnComplete код:

@Override 
     public void onComplete(Bundle values) { 
      String sh="Krish"; 
      Bundle parameters = new Bundle(); 
      parameters.putString("caption",sh); 
      } 

Но теперь также получаю ту же самую ошибку ly.how может я разрешить эти .please помочь мне.

visit these

Здесь я должен написал текст Привет .Эти Привет вывешено successfully.But я хочу, чтобы отобразить Криш на этой EditText коробке dynamically.How я могу сделать ????

+0

Попробуйте мой ответ .. – Nezam

+0

@Nezam я попробовал.баут, но я не понял. – user2218667

ответ

0

Попробуйте добавить это к вашему OnComplete

params.putString("caption",sh); 
+0

Привет, я тоже уже писал: params.putString ("message", sh); но он не отображается. – user2218667

+0

Пожалуйста, загляните в ответ правильно, я говорю, чтобы изменить «сообщение» на «подпись» .. вы это попробовали? – Nezam

+0

Это мой OnComplete код яр: @Override \t \t \t общественности недействительным OnComplete (Bundle значения) { \t \t \t \t Строка ш = "Криш"; \t \t \t \t Bundle parameters = new Bundle(); \t \t \t \t parameters.putString ("caption", sh); \t \t \t \t} не получил этот текст на стене. – user2218667

0

Вы уверены, что вы используете Facebook SDK 3?

По этим линиям:

private Facebook facebook = new Facebook(APP_ID); 
private AsyncFacebookRunner mAsyncRunner; 

Я думаю, что вы используете старый SDK, который так много методов устаревшее.

+0

да ... теперь я добавил facebook sdk 3 ly.am, получая от https://github.com/facebook/facebook-android-sdk...now также am получая то же самое. должен написать текст Hi.These Привет отправлен успешно. Но я хочу показать Криш в этом окне редактора динамически. Как я могу это сделать ??? – user2218667

Смежные вопросы