簡體   English   中英

Facebook SDK v3.0請求對話框未發送應用程序請求

[英]Facebook SDK v3.0 Request Dialog not sending application request

我正在使用適用於Facebook的Android SDK v3.0將請求發送給使用我的應用程序的朋友。 我使用在這里看到的代碼打開Facebook的Dialog應用程序,並向用戶的朋友發出請求。

使用以下代碼顯示並發送請求之后。 現在,我收到了“已發送請求”吐司,但從未發送過請求。

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 開發人員頁面上:“用戶到用戶請求僅適用於Canvas應用程序”

在Facebook開發者帳戶的應用程序設置中,添加畫布框架,然后添加以下代碼以發送應用程序請求。 如果處於活動狀態,則將getActivity()替換為YourActivityName.this如果處於片段中,則無需替換任何內容

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM