应用程序未显示来自Facebook的publish_action权限对话框?

问题描述:

我使用此代码...应用程序未显示来自Facebook的publish_action权限对话框?

我用于登录的logInWithPublishPermissions ...

FacebookSdk.sdkInitialize(getApplicationContext()); 

    callbackManager = CallbackManager.Factory.create(); 

    shareDialog = new ShareDialog(this); 
    java.util.List<String> permissionNeeds = Arrays.asList("publish_actions"); 

    //this loginManager helps you eliminate adding a LoginButton to your UI 
// LoginManager = LoginManager.getInstance(); 

    LoginManager.getInstance().logInWithPublishPermissions(
      FacebookShareActivity.this, 
      Arrays.asList("publish_actions")); 

    LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) { 
      sharePhotoToFacebook(); 
     } 

     @Override 
     public void onCancel() { 
      System.out.println("onCancel"); 
     } 

     @Override 
     public void onError(FacebookException exception) { 
      System.out.println("onError"); 
     } 
    }); 

sharePhotoToFacebook

private void sharePhotoToFacebook(){ 


    SharePhoto photo = new SharePhoto.Builder() 
      .setBitmap(bitmap) 
      .setCaption("Caption") 
      .build(); 

    SharePhotoContent content = new SharePhotoContent.Builder() 
      .addPhoto(photo) 

      .build(); 
    ShareApi.share(content,shareCallback); 

// Toast.makeText(getApplicationContext(),"Snapshot shared On Facebook",Toast.LENGTH_SHORT).show(); 


      //shareDialog.registerCallback(callbackManager, FacebookCallback<Sharer.Result>(), REQUEST_CODE); 



} 

但我希望应用程序请求许可它的不显示发布许可的对话框。

+0

你跟一个应用程序管理员试图或者至少有人与应用中的作用?你知道登录审查吗? – luschn

+0

是的@luschn先生,我用它自己的(管理员)帐户它。但它直接在墙上,并不直接发布publish_action的权限 –

尝试这种方式对于Facebook登录:

@Bind(R.id.login_button_fb) 
LoginButton login_button_fb; 
. 
. 
. 
. 
login_button_fb.setReadPermissions(Arrays.asList(
         "public_profile", "email", "user_birthday", "public_actions")); 
       login_button_fb.setFragment(LoginFragment.this); 
       login_button_fb.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
        @Override 
        public void onSuccess(LoginResult loginResult) { 
         addToMainQueue(TCRequestGenerator.loginWithFacebook(loginResult.getAccessToken().getToken())); 
        } 

        @Override 
        public void onCancel() { 
         LoginManager.getInstance().logOut(); 
        } 

        @Override 
        public void onError(FacebookException error) { 
         showAlert(error.getMessage()); 
         LoginManager.getInstance().logOut(); 
        } 
       });