我想为我的应用程序添加一个帖子到 facebook 按钮来分享一些东西,我认为我使用我的代码的方式有问题。首先,我有我的登录类,其中它处理 facebook 的所有登录部分,然后存储我需要的所有数据(用户名、电子邮件、fb_id),我可以将所有值从登录类传递到另一个然后我完成类原因我不希望用户在单击后退按钮后返回登录页面。在我的详细信息活动中,有一个按钮,当我单击它时,它需要将我设置的消息发布到 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();