Facebook SDK v3.0请求对话框不发送应用程序请求
问题描述:
我使用Android SDK v3.0为Facebook发送请求给朋友使用我的应用程序。我使用我在here上看到的代码打开Facebook的对话应用程序并向用户的朋友发送请求。Facebook SDK v3.0请求对话框不发送应用程序请求
使用以下代码显示并发送请求后。我现在收到“请求已发送”信息,但请求永远不会发送。
private void sendRequestDialog() {
Bundle params = new Bundle();
params.putString("message", "MESSAGE");
params.putString("app_id", "APPID");
WebDialog requestsDialog = (
new WebDialog.RequestsDialogBuilder(LoginActivity.this,
Session.getActiveSession(),
params))
.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(Bundle values,
FacebookException error) {
if (error != null) {
if (error instanceof FacebookException) {
Toast.makeText(LoginActivity.this.getApplicationContext(),
"Request cancelled",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(LoginActivity.this.getApplicationContext(),
"Network Error",
Toast.LENGTH_SHORT).show();
}
} else {
final String requestId = values.getString("request");
if (requestId != null) {
Toast.makeText(LoginActivity.this.getApplicationContext(),
"Request sent",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(LoginActivity.this.getApplicationContext(),
"Request cancelled",
Toast.LENGTH_SHORT).show();
}
}
}
})
.build();
requestsDialog.show();
}
以下日志从logcat的请求对话框的显示过程中获得:
03-15 17:18:51.944: W/dalvikvm(2842): disableGcForExternalAlloc: false
03-15 17:18:53.759: V/chromium(2842): external/chromium/net/base/bandwidth_metrics.h:96: [0315/171853:INFO:bandwidth_metrics.h(96)] Bandwidth: 1500.13Kbps (avg 2275.13Kbps)
03-15 17:18:54.124: W/dalvikvm(2842): disableGcForExternalAlloc: false
03-15 17:18:58.019: W/dalvikvm(2842): disableGcForExternalAlloc: true
03-15 17:18:58.629: W/dalvikvm(2842): disableGcForExternalAlloc: false
03-15 17:18:58.684: W/dalvikvm(2842): disableGcForExternalAlloc: true
03-15 17:18:59.314: W/dalvikvm(2842): disableGcForExternalAlloc: false
03-15 17:18:59.369: W/dalvikvm(2842): disableGcForExternalAlloc: true
03-15 17:18:59.949: W/dalvikvm(2842): disableGcForExternalAlloc: false
03-15 17:18:59.954: W/dalvikvm(2842): disableGcForExternalAlloc: true
03-15 17:19:00.534: W/dalvikvm(2842): disableGcForExternalAlloc: false
03-15 17:19:00.539: W/dalvikvm(2842): disableGcForExternalAlloc: true
03-15 17:19:01.329: W/dalvikvm(2842): disableGcForExternalAlloc: false
03-15 17:19:03.459: W/dalvikvm(2842): disableGcForExternalAlloc: true
03-15 17:19:03.984: W/dalvikvm(2842): disableGcForExternalAlloc: false
03-15 17:19:04.019: W/dalvikvm(2842): disableGcForExternalAlloc: true
03-15 17:19:04.189: W/dalvikvm(2842): disableGcForExternalAlloc: false
03-15 17:19:06.269: W/dalvikvm(2842): disableGcForExternalAlloc: false
03-15 17:19:10.869: I/NONPRIME(2842): <CallBackProxy> Send to WebViewClient.
请点我在正确的方向...
答
在Facebook开发人员帐户的应用程序设置中添加画布fr并在此之后添加以下代码以发送应用请求。 如果活动与YourActivityName.this 如果片段取代getActivity()无需更换任何
Bundle params = new Bundle();
params.putString("message",
"Join CConnect To feel Better Experience Of Meetings And Calls");
WebDialog requestsDialog = (new WebDialog.RequestsDialogBuilder(
getActivity(), Session.getActiveSession(), params))
.setTheme(
android.R.style.Theme_Translucent_NoTitleBar_Fullscreen))
.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(Bundle values,
FacebookException error) {
if (error != null) {
if (error instanceof FacebookOperationCanceledException) {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Request cancelled",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Network Error", Toast.LENGTH_SHORT)
.show();
}
} else {
final String requestId = values
.getString("request");
if (requestId != null) {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Request sent", Toast.LENGTH_SHORT)
.show();
} else {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Request cancelled",
Toast.LENGTH_SHORT).show();
}
}
}
}).build();
requestsDialog.show();
是存在的,当我添加Facebook画布平台应设置任何特殊设置?我只是把一些东西放在Canvas网址上,没什么更多。它不适用于我 – 2014-11-08 16:20:18
首先,您必须将应用程序发送给Facebook,然后才能访问您的朋友列表,然后使用标记的朋友api与url分享您的应用程序链接并标记您想要的那些朋友。可邀请的朋友api只适用于游戏api。 – DeepakPanwar 2014-11-10 07:38:48
这很混乱。 sendRequest对话框已经打开好友列表,我选择我想要发送请求的朋友。所以我基本上已经访问了我的朋友列表,我只是不能发送请求,而吐司“请求发送”出现。这是正常的吗? – 2014-11-10 09:06:46