如何重新问拒绝权限的Facebook SDK 4.0(安卓) [英] How to re-ask declined permissions in Facebook SDK 4.0 (android)
问题描述
我查了下文。它是非常相似,但它是不一样的我的问题。
I checked below. It is very similar but it is not same my problem.
<一个href="http://stackoverflow.com/questions/29602353/how-to-re-request-permissions-in-facebook-sdk-4-0">How重新请求权限的Facebook SDK 4.0
我在code得到的权限。
I got permissions in this code.
LoginManager.getInstance().logInWithReadPermissions(*fragment*, "user_friends");
如果用户拒绝user_friends的权限,我不能再要求高于codeuser_friends权限。由于自动拒绝对明年的认证。
If a user reject "user_friends" permission, I can't re-ask "user_friends" permissions above code. Because automatically rejected on next authentication.
什么行动,我应该做的就是user_friends编程?
What actions should I do to get "user_friends" programmatically?
推荐答案
其简单的只是用
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.e(TAG, "LoginManager FacebookCallback onSuccess");
if (loginResult.getAccessToken() != null) {
Set<String> deniedPermissions = loginResult.getRecentlyDeniedPermissions();
if (deniedPermissions.contains("user_friends")) {
LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("user_friends"));
}
}
}
@Override
public void onCancel() {
Log.e(TAG, "LoginManager FacebookCallback onCancel");
}
@Override
public void onError(FacebookException e) {
Log.e(TAG, "LoginManager FacebookCallback onError");
}
});
和不要忘记你打电话的setContentView之前初始化FB SDK(R.layout.main) 即
and do not forget to initialize fb SDK before you call setContentView(R.layout.main) i.e
// Create callback manager to handle login response
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
这篇关于如何重新问拒绝权限的Facebook SDK 4.0(安卓)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!