我正在使用此代码...
我使用 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");
}
});
分享照片到脸书
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);
}
但是我希望应用程序请求权限,它不显示请求发布权限的对话框。
尝试以下方式登录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();
}
});