Отказ на разрешение facebook sdk за android

Работещо във Facebook приложение за android. Не може да се получи разрешение за публикуване. Когато поискам разрешение, той се добавя за отказ на разрешения. Някакви предположения.

публичен клас MainActivity разширява дейността прилага OnClickListener {

private static final String PERMISSION_PUBLISH = "publish_actions";

private TextView textView;
private Button check;
private Button ask;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    textView = (TextView) findViewById(R.id.textView1);
    check = (Button) findViewById(R.id.check_per);
    ask = (Button) findViewById(R.id.get_per);
    check.setOnClickListener(this);
    ask.setOnClickListener(this);
    findViewById(R.id.post).setOnClickListener(this);

    Session.openActiveSession(this, true, new StatusCallback() {

        @Override
        public void call(Session session, SessionState state, Exception exception) {
            if (session != null && session.isOpened()) {
                session.refreshPermissions();
                Request.newMeRequest(session, new GraphUserCallback() {

                    @Override
                    public void onCompleted(GraphUser user, Response response) {
                        updateUi(user);
                    }
                }).executeAsync();
            }
        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Session session = Session.getActiveSession();
    if (session != null) {
        session.onActivityResult(MainActivity.this, requestCode, resultCode, data);
        session.refreshPermissions();
    }
    super.onActivityResult(requestCode, resultCode, data);

}

private void showToast(String msg) {
    Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG).show();
}

public void updateUi(GraphUser graphUser) {
    textView.setText(graphUser.getFirstName());
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.check_per:
        checkForPermission();
        break;
    case R.id.get_per:
        getPermission();
        break;
    case R.id.post:
        post();
        break;
    default:
        break;
    }
}

private void checkForPermission() {
    Session session = Session.getActiveSession();
    if (session != null && session.isOpened()) {
        // --- Shows PEMISSION_PUBLISH in declined permission not in
        // permission granted
        List<String> permissions = session.getDeclinedPermissions();
        showToast("size : " + permissions.size());
        for (int i = 0; i < session.getDeclinedPermissions().size(); i++) {
            showToast("Has permission : " + permissions.get(i));
        }
    }
}

private void getPermission() {
    Session session = Session.getActiveSession();
    if (session != null && session.isOpened()) {
        NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(MainActivity.this, PERMISSION_PUBLISH);
        session.requestNewPublishPermissions(newPermissionsRequest);
    }
}

private void post() {
    Request.newStatusUpdateRequest(Session.getActiveSession(), "Status Update", new Request.Callback() {
        @Override
        public void onCompleted(Response response) {
            if (response != null)
                showToast(response.toString());
        }
    }).executeAsync();
}

}


person user3584264    schedule 15.05.2014    source източник
comment
Това може да е полезно за вас!! Късмет :)   -  person user3404836    schedule 15.05.2014
comment
Опитах всичко.. Все още не работи, може ли да обясните, моля...   -  person user3584264    schedule 15.05.2014


Отговори (1)


Трябва да отидете в настройките на приложението на developers.facebook.com в раздела Status&Review и да изпратите заявка за екип за преглед на Facebook, вижте https://developers.facebook.com/docs/apps/review/ за подробности.

person anber    schedule 06.06.2014