我们有一个Android应用需要2个额外的读取权限 -
如果用户同时接受了许可,那么一切都很好。但是,如果用户在第一次登录时拒绝其中任何一个,之后当我们需要此信息时,我们会尝试使用代码回复此权限: -
final String[] PERMISSION_ARRAY_READ = { "email", "user_friends" };
final List<String> permissionList = Arrays.asList(PERMISSION_ARRAY_READ);
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(
mActivity, permissionList).setDefaultAudience(SessionDefaultAudience.FRIENDS)
.setRequestCode(REAUTH_FRIEND_PERMISSION_CODE);
session.requestNewReadPermissions(newPermissionsRequest);
在执行上面的代码时,如果Facebook应用程序存在,那么它不会显示任何Facebook对话框,只会显示几毫秒的黑屏,并再次返回旧的拒绝权限,因为已拒绝。 onActivityResult 方法中 resultCode 值 -1 。
我在这里阅读了重新认证的示例,但找不到适合Android的任何内容。
https://developers.facebook.com/docs/facebook-login/reauthentication
如果有人可以分享经验,那将对我有用。
PS:我使用的是最新的Facebook SDK 3.16.0