Android 安卓facebook发送消息
我必须通过android应用程序向facebook好友发送消息。我已经完成了所有功能,并尝试了向facebook好友发送消息的代码。但显示了一个错误,该对话框不适用于此设备。 以下是我向facebook好友发送消息的代码:Android 安卓facebook发送消息,android,facebook,Android,Facebook,我必须通过android应用程序向facebook好友发送消息。我已经完成了所有功能,并尝试了向facebook好友发送消息的代码。但显示了一个错误,该对话框不适用于此设备。 以下是我向facebook好友发送消息的代码: Facebook facebook = new Facebook(APP_ID); Bundle params = new Bundle(); params.putString("to", Constant.facebookIdBuffer.t
Facebook facebook = new Facebook(APP_ID);
Bundle params = new Bundle();
params.putString("to", Constant.facebookIdBuffer.toString());
params.putString("name", "Goal Machine");//title
params.putString("link", Constant.shortAppUrlForAndroid+"\n"+Constant.shortAppUrlForIphone);//message
facebook.dialog(_activity, "send", params, new DialogListener() {//apprequests
@Override
public void onComplete(Bundle values) {
Constant.facebookIdBuffer=null;
//postToWall("@"+Constant.facebookIdBuffer.toString()+sendInvite);
}
@Override
public void onFacebookError(FacebookError error) {
Constant.showAlertDialog("Error", "Can't send ally request!", _activity.getParent(), false);
Constant.facebookIdBuffer=null;
}
@Override
public void onError(DialogError e) {
Constant.showAlertDialog("Error", "Can't send ally request!", _activity.getParent(), false);
Constant.facebookIdBuffer=null;
}
以下是显示错误的简短屏幕:
请向我推荐一种发送带有facebook好友链接的消息的方法。
发送对话框在android中尚不受支持,因此您有3个选项:
- 等待facebook为android实现该对话框
- 尝试在移动设备的浏览器中打开该对话框(其url位于中)
- 请求
xmpp\u登录
权限并添加一个xmpp客户端(即:),这样您就可以实现自己的“发送消息”对话框
如果您试图向朋友发送消息,请使用WebDialog。
下面是我使用的代码,运行良好
private void sendRequestDialog(String msg, String json) {
Bundle params = new Bundle();
params.putString("message", msg);
params.putString("data", json);
WebDialog requestsDialog = (new WebDialog.RequestsDialogBuilder(
context, session, params)).setOnCompleteListener(
new OnCompleteListener() {
@Override
public void onComplete(Bundle values,
FacebookException error) {
if (error != null) {
if (error instanceof FacebookOperationCanceledException) {
Toast.makeText(context, "Request cancelled",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "Network Error",
Toast.LENGTH_SHORT).show();
}
} else {
final String requestId = values
.getString("request");
if (requestId != null) {
Toast.makeText(context, "Request sent",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "Request cancelled",
Toast.LENGTH_SHORT).show();
}
}
}
}).build();
requestsDialog.show();
}
这是发送给朋友的信息格式
{
"id": "493703870648580",
"application": {
"name": "Send Requests How To",
"id": "403223126407920"
},
"to": {
"name": "Chris Abe Colm",
"id": "100003086810435"
},
"from": {
"name": "Christine Abernathy",
"id": "1424840234"
},
"data": "{\"badge_of_awesomeness\":\"1\",\"social_karma\":\"5\"}",
"message": "Learn how to make your Android apps social",
"created_time": "2012-10-07T17:29:57+0000"
}
您可以使用最新facebook Android sdk中的Messenger Utils发送带有附件的邮件
您可以使用以下mime类型发送附件:
发送图像的示例代码如下所示
String mimeType = "image/jpeg";
// contentUri points to the content being shared to Messenger
ShareToMessengerParams shareToMessengerParams =
ShareToMessengerParams.newBuilder(contentUri, mimeType)
.build();
// Sharing from an Activity
MessengerUtils.shareToMessenger(
this,
REQUEST_CODE_SHARE_TO_MESSENGER,
shareToMessengerParams);
更多文档位于嗨,我尝试了第二个选项,但它不起作用。我可以向任何朋友发送应用程序请求吗?如果是,请用代码解释我。这是一个很棒的教程