目前我正在使用 Facebook SDK 开发一个 Android 应用程序。它可以很好地向墙上发布消息等,但是通过这个 SDK 我无法向其他人发送应用程序请求。
谁能帮帮我?
这是我的代码 fragment :
Bundle params = new Bundle();
params.putString("message", getString(R.string.request_message));
Utility.mFacebook.dialog(Hackbook.this, "apprequests", params, new AppRequestsListener());
和AppRequestsListener:
public class AppRequestsListener extends BaseDialogListener {
@Override
public void onComplete(Bundle values) {
Toast toast = Toast.makeText(getApplicationContext(), "App request sent", Toast.LENGTH_SHORT);
toast.show();
}
@Override
public void onFacebookError(FacebookError error) {
Toast.makeText(getApplicationContext(), "Facebook Error: " + error.getMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel() {
Toast toast = Toast.makeText(getApplicationContext(), "App request cancelled", Toast.LENGTH_SHORT);
toast.show();
}
}
最佳答案
从 SDK 3.0 版开始,您可以使用 WebDialog。下面是一个示例,说明如何使用提供的构建器创建一个使用所有可用参数的构建器:
private void sendRequestDialog() {
Bundle params = new Bundle();
params.putString("title", "Send a Request");
params.putString("message", "Learn how to make your Android apps social");
params.putString("to", "12343543,32423534"); // comma seperated list of facebook IDs to preset the recipients. If left out, it will show a Friend Picker.
params.putString("data",
"{\"badge_of_awesomeness\":\"1\"," +
"\"social_karma\":\"5\"}"); // any additional data
WebDialog requestsDialog = (
new WebDialog.RequestsDialogBuilder(getActivity(), Session.getActiveSession(), params))
.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(Bundle values, FacebookException error) {
// do something, e.g. show toast message
}
})
.build();
requestsDialog.show();
}
关于android - 如何通过 Facebook Android SDK 向好友发送应用请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10153175/