簡體   English   中英

無法使用新的Android sdk登錄Facebook?

[英]Unable to Login to facebook using new Android sdk?

我在我的應用程序中使用新的Facebook Android Sdk,我在開發人員頁面中創建了App ID並使用了下面的代碼

碼:

 private   List<String> PERMISSIONS = Arrays.asList("user_photos","email");


     public void loginToFacebook(){

            Session.openActiveSession(getParent(), true, new Session.StatusCallback() {


            @Override
            public void call(final Session session, SessionState state,Exception exception) {
                // TODO Auto-generated method stub


                 Log.e("session",""+session.isOpened());

//               dialog.dismiss();

                   if (session.isOpened()) {


/

                    List<String> permissions = session.getPermissions();

                     Log.e("current permissions",""+permissions);

                     if (!isSubsetOf(PERMISSIONS, permissions)) {

                     Log.e("if permissions=======",""+permissions);

                     Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(getParent(), PERMISSIONS);

                     session.requestNewReadPermissions(newPermissionsRequest);

                     return;
                     }

                     // make request to the /me API
                     Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {

                        @Override
                        public void onCompleted(GraphUser user,Response response) {
                            // TODO Auto-generated method stub

                            Log.e("oncompletedddddddddddd","if open user");

                               if (user != null) {

                                Log.e("session","if open user");



                                      Intent intent=new Intent(getParent(),FacebookPostActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                                      View view = CheckInTab.group.getLocalActivityManager().startActivity("q",intent).getDecorView();  
                                            // Again, replace the view  
                                      CheckInTab.group.replaceView(view);

//                                    publishFeedDialog(strFacebookId);

                                 }catch(Exception e){e.printStackTrace();}


                                          }

                                // Check for publish permissions    



                        }


                     });
                   }



        }
           });

       }

 @Override
   public void onActivityResult(int requestCode, int resultCode, Intent data) {
       super.onActivityResult(requestCode, resultCode, data);
       Session.getActiveSession().onActivityResult(getParent(), requestCode, resultCode, data);
   }

 private boolean isSubsetOf(Collection<String> subset, Collection<String> superset) {
             for (String string : subset) {
                 if (!superset.contains(string)) {
                     return false;
                 }
             }
             return true;
         }

我在登錄屏幕后不斷收到下面的對話框,我還觀察到即使我們點擊取消或交叉,也會出現相同的對話框。 在此輸入圖像描述

請建議解決方案。

您可以從Facebook本身的已批准應用列表中刪除該應用。 從您的瀏覽器:

  1. 單擊頂部欄右上角的向下箭頭。
  2. 選擇“設置”
  3. 在左側,選擇“應用”
  4. 在列表中找到應用程序名稱(您可能必須單擊列表底部的“顯示所有應用程序(#)”並選擇應用程序名稱右側的“x”。
  5. 同意刪除應用權限。

從手機上的Facebook應用程序:

  1. 一直向右滑動(三個水平條圖標)
  2. 向下滾動到“幫助和設置”部分
  3. 選擇“帳戶設置”
  4. 向下滾動並選擇“應用”項
  5. 在其中一個“與*共享”部分中查找並選擇應用
  6. 觸摸底部的“刪除[應用名稱]”按鈕

從Facebook刪除應用程序權限后,您應該能夠再次運行您的應用程序,它將允許您登錄。

暫無
暫無

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

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