我正在开发一个用户可以与他/她的Facebook好友分享消息的应用程序。我正在使用Facebook API for android。我可以验证用户身份,以及我可以将我的朋友列表作为Facebook用户并在墙上发布消息,但我正在寻找向我的朋友发送私人消息,我没有得到任何解决方案,所以任何人都可以帮助我,我怎样才能实现...
提前致谢
最好的问候
答案 0 :(得分:7)
无法使用图表api代表用户发送私人消息。
但是你应该可以使用Send Dialog,虽然我没有在android上试过它,但它应该是这样的:
Bundle params = new Bundle();
params.putString("to", "USER_ID");
params.putString("name", "TITLE HERE");
params.putString("link", "A URL"); // this link param is required
facebook.dialog(context, "send", params, new DialogListener() {
@Override
public void onComplete(Bundle values) {
....
}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
您可以使用的另一种方法是Chat API,您可以代表用户发送消息,它需要xmpp_login
权限才能实现xmpp客户端。
由于Android中不支持此对话框,因此您有3个选项:
xmpp_login
并添加一个xmpp客户端(即:asmack),然后您可以实现自己的“发送消息”对话框。答案 1 :(得分:0)
最新的Android SDK功能现在是(私人)消息对话框 https://developers.facebook.com/docs/android/message-dialog/
答案 2 :(得分:0)
您可以使用MessengerUtils发送带附件的邮件。
您可以使用以下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);
答案 3 :(得分:0)
可以使用以下代码发送facebook私信。
if (isPackageExisted("com.facebook.orca")) {
Uri uri = Uri.parse("fb-messenger://user/");
uri = ContentUris.withAppendedId(uri, Long.parseLong("Enter user id here"));
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
} else {
Toast.makeText(this, "Please install facebook messenger", Toast.LENGTH_LONG).show();
}
}
检查Facebook Messenger是否安装
public boolean isPackageExisted(String targetPackage) {
PackageManager pm = getPackageManager();
try {
PackageInfo info = pm.getPackageInfo(targetPackage, PackageManager.GET_META_DATA);
} catch (PackageManager.NameNotFoundException e) {
return false;
}
return true;
}