私はコードを実行しようとしていますが、ユーザーが許可を受け入れた後にのみ、スコアの送信ボタンと流れるコードを押します。
アプリケーションを初めて実行すると、ユーザーはエラーを受け入れて取得し、最初のクリック後に正常に動作します。
ユーザーが許可のクリックと他のコードを受け入れるのを同期するにはどうすればよいですか?
public void post_Score(View view){
this.textView = (TextView) findViewById(R.id.editText1);
//request Publish Permissions
requestPublishPermissions(Session.getActiveSession());
Bundle fbParams = new Bundle();
randomScore = new Random().nextInt(1000000);
fbParams.putString("score", "" + randomScore);
Request postScoreRequest = new Request(Session.getActiveSession(),"me/scores",fbParams,HttpMethod.POST,new Request.Callback() {
@Override
public void onCompleted(Response response) {
FacebookRequestError error = response.getError();
if (error != null) {
System.out.println("BAD");
textView.setText("BAD " + error.getErrorMessage());
} else {
System.out.println("Your score is " + randomScore);
textView.setText("Your score is " + randomScore);
savingUserDetails();
}
}
});
Request.executeBatchAsync(postScoreRequest);
}
そして requestPublishPermissions 関数
private void requestPublishPermissions(Session session) {
if (session != null && !session.getPermissions().contains("publish_actions")) {
System.out.println("SEESION Permission");
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(mainFragment, Arrays.asList("publish_actions"));
session.requestNewPublishPermissions(newPermissionsRequest);
}
}