如何重新问拒绝权限的Facebook SDK 4.0(安卓) [英] How to re-ask declined permissions in Facebook SDK 4.0 (android)

查看:963
本文介绍了如何重新问拒绝权限的Facebook SDK 4.0(安卓)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我查了下文。它是非常相似,但它是不一样的我的问题。

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆