アプリが何かを共有するためにFacebookボタンに投稿を追加したいのですが、コードの使用方法に問題があると思います。まず、Facebookのすべてのログイン部分を処理し、必要なすべてのデータ(ユーザー名、電子メール、fb_id)を格納するログインクラスがあります。ログインクラスから別のクラスにすべての値を渡すことができるインテントで、クラスの原因ユーザーが[戻る]ボタンをクリックした後、ログインページに戻らないようにします。私の詳細アクティビティにはボタンが1つあり、クリックすると設定したメッセージをFacebookに投稿する必要がありますが、問題はmFacebook.isSessionValid()を使用して、ログインがユーザーに対して有効であるかどうかを確認することです。私が思うに、私のFacebookクラスのすべての情報が更新されていると思います(ただし、その部分についてはよくわかりません)。まあそれは」
私が使用する郵便番号は次のとおりです。
private void postToFacebook() {
mProgress.setMessage("Posting ...");
mProgress.show();
AsyncFacebookRunner mAsyncFbRunner = new AsyncFacebookRunner(mFacebook);
Bundle params = new Bundle();
params.putString("message", "My Message");
params.putString("name", "My app name");
params.putString("caption", "caption here");
params.putString("link", "URL PAGE HERE");
params.putString("description", "DESCRIPTIONS HERE");
params.putString("picture", "IMAGE URL");
mAsyncFbRunner.request("me/feed", params, "POST", new WallPostListener());
}
private final class WallPostListener extends BaseRequestListener {
public void onComplete(final String response) {
mRunOnUi.post(new Runnable() {
public void run() {
mProgress.cancel();
Toast.makeText(ScoreScreen.this, "Posted to Facebook", Toast.LENGTH_SHORT).show();
}
});
}
}
そして、これはログインページ(メイン)の後に次のページを表示するための私のコードです:
SessionStore.saveName(username, Main.this);
//IF ONLY SUCCESS IN FETCHING RECORDS
Intent i = new Intent(Main.this, SplashScreen.class);
i.putExtra("fname", fname);
i.putExtra("lname", lname);
i.putExtra("eadd", eadd);
i.putExtra("fbid", fbid);
i.putExtra("gender", gender);
startActivity(i);
Toast.makeText(Main.this, "Connected to Facebook", Toast.LENGTH_SHORT).show();
Main.this.finish();