Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓facebook发送消息_Android_Facebook - Fatal编程技术网

Android 安卓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

我必须通过android应用程序向facebook好友发送消息。我已经完成了所有功能,并尝试了向facebook好友发送消息的代码。但显示了一个错误,该对话框不适用于此设备。

以下是我向facebook好友发送消息的代码:

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);


更多文档位于

嗨,我尝试了第二个选项,但它不起作用。我可以向任何朋友发送应用程序请求吗?如果是,请用代码解释我。这是一个很棒的教程