无法使用新的Android sdk登录Facebook?

时间:2014-05-05 14:44:39

标签: android facebook-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;
         }

我在登录屏幕后不断收到下面的对话框,我还发现即使我们点击取消或交叉,也会出现相同的对话框。enter image description here

请建议解决方案。

1 个答案:

答案 0 :(得分:0)

您可以从Facebook本身的已批准应用列表中删除该应用。 从您的浏览器:

  1. 单击顶部栏右上角的向下箭头。
  2. 选择&#34;设置&#34;
  3. 在左侧,选择&#34;应用&#34;
  4. 在列表中找到应用名称(您可能需要点击&#34;在列表底部显示所有应用(#)&#34;&#34;并选择&#34; x&#34;在应用名称的右侧。
  5. 同意删除应用权限。
  6. 来自手机上的Facebook应用:

    1. 一直向右滑动(三个水平条图标)
    2. 向下滚动到&#34;帮助&amp;设定&#34;节
    3. 选择&#34;帐户设置&#34;
    4. 向下滚动并选择&#34; Apps&#34;项目
    5. 在&#34;与 * 共享&#34;之一中查找并选择应用。部分
    6. 触摸&#34;删除[应用名称]&#34;底部的按钮
    7. 在您从Facebook删除了应用权限后,您应该可以再次运行您的应用,并允许您登录。<​​/ p>