2017-10-11 48 views
0

我使用此代碼...應用程序未顯示來自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的權限 –

回答

0

嘗試這種方式對於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(); 
        } 
       }); 
相關問題