Its strange that I am using right code to make dialog with predefined content. But it isn't working:( guide me if I am wrong, thanks
Code:
Bundle params = new Bundle();
params.putString("message", "Predef Message");
Facebook facebook = new Facebook("APP_ID");
facebook.dialog(this, "feed", params, new DialogListener(){
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
}
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
}
@Override
public void onCancel() {
return;
}});
I found that we can't predefined a message for posting on wall, check this https://developers.facebook.com/docs/reference/androidsdk/dialog/ it requires user interaction
Message for Post on wall, Share a link or any else require user interaction. So a workaround is share a link and add description to it:)
Try this it is work for me
public void postfb() {
Log.i("PostFB", "POST FB ENTERED..!!");
Facebook facebook;
// facebook = new Facebook(InfrqncyApplication.APP_ID);
facebook = new Facebook(APP_ID);
// replace APP_API_ID with your own
facebook.authorize(getActivity(), new String[] { "publish_stream",
"offline_access" }, null);
Bundle params = new Bundle();
params.putString("link", imagePostPath);
params.putString("name", etxtTitle.getText().toString().trim());
// params.putString("caption","Via Sharesi.es");
params.putString("description", etxtDescription.getText().toString());
params.putString("picture", imagePostPath);
facebook.dialog(getActivity(), "stream.publish", params,
new DialogListener() {
@Override
public void onComplete(Bundle values) {
final String postId = values.getString("post_id");
if (postId != null) {
Toast.makeText(getActivity(),
"Posted sucessfully !", Toast.LENGTH_SHORT)
.show();
AddPost();
} else {
Log.d("FB Sample App", "Canceled by User");
}
}
@Override
public void onFacebookError(FacebookError error) {
AddPost();
Log.e("fb", "fb error" + error);
}
@Override
public void onError(DialogError e) {
AddPost();
Log.e("fb", "fb dialog error" + e.getLocalizedMessage());
}
@Override
public void onCancel() {
AddPost();
}
});
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.