下面的代码已经完美地工作了好几个月,但在过去的几天里它没有用。有没有其他人有这个问题,或者我做错了什么?
Button fb1 = (Button) dialog.findViewById(R.id.shareFb);
fb1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
facebook.authorize(DisplaySaved.this,
new String[] { "publish_stream" },
new DialogListener() {
public void onComplete(Bundle values) {
Bundle parameters = new Bundle();
parameters.putString("message", strChangedStory + ".. " +
"www.X-Appz.com/AppLibs/ShowStory.aspx?storyID=" + xRex + " to read the rest of the story!");
facebook.dialog(DisplaySaved.this,
"stream.publish", parameters,
this);
}
@Override
public void onFacebookError(
FacebookError error) {
}
@Override
public void onError(DialogError e) {
}
@Override
public void onCancel() {
}
});
}
});
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
也可以有人告诉我,一旦按下“分享”按钮,我怎么能删除Facebook对话框屏幕并返回上一个?
答案 0 :(得分:1)
1)您的FB发布可能已被破坏,因为FB可能已禁用您的应用 - 他们的政策说“消息”不应包含任何编程提要,它应该只包含用户输入的状态。所有自动数据都应通过“附件”进行。尝试去FB,看看你的应用程序是否仍然存在。
2)要在用户按下共享或取消后退出FB对话框屏幕,只需将以下代码添加到onComplete -
if (values.isEmpty() || values.containsKey("post_id")) {
if(values.containsKey("post_id")){
Toast.makeText(this, "Your content has been Published",
Toast.LENGTH_SHORT).show();
}
System.out.println("******QFP - going out********");
finish();
return;
}