繁体   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