1

FB sdk を使用して FB に投稿する次のコードがあります。初めて投稿するボタンをクリックすると、このアクティビティが開き、認証が試行され、「あなたはログインしていません」というFBページが表示されます。押し戻してもう一度投稿しようとすると、資格情報を入力するためのログイン ページが表示され、投稿は成功します。この問題は、アプリをインストールした後の初回のみです。この問題の解決を手伝ってください

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.i("FAceBook","create instance");
    facebook = new Facebook(APP_ID);

    facebook.authorize(FaceBookShareActivity.this, PERMISSIONS,Facebook.FORCE_DIALOG_AUTH,

    new DialogListener() {
        @Override
        public void onComplete(Bundle values) {
            try {
                Log.i("FAceBook","DialogListener");
                Bundle parameters = new Bundle();
                parameters.putString("message", "msg");
                String response = facebook.request("me/feed", parameters,
                        "POST");
                Log.d("fbproblem", "got response: " + response);
                if (response == null || response.equals("")
                        || response.contains("error")) {
                    Log.d("Login failed", "RETRY");
                } else {
                    Log.d("fbproblem",
                            "Message posted to your facebook wall!");
                    Toast.makeText(getApplicationContext(),
                            "Message posted to your facebook wall!",
                            Toast.LENGTH_LONG).show();
                    // facebook.logout(MainActivity.this);
                }
            } catch (Exception e) {
                // finish();
                Log.d("fbproblem", e.getMessage());
            }
            Log.d("fbproblem", "SUCCESS");
             finish();
        }

        @Override
        public void onFacebookError(FacebookError error) {
            Log.d("fbproblem", error.getMessage());
            // finish();
        }

        @Override
        public void onError(DialogError e) {
            Log.d("fbproblem", e.getMessage());
            // finish();
        }

        @Override
        public void onCancel() {
            Log.d("fbproblem", "");
            // finish();
        }

    });
    Log.i("FAceBook","Call authorise");
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    try {
        super.onActivityResult(requestCode, resultCode, data);
        facebook.authorizeCallback(requestCode, resultCode, data);
        Log.i("FAceBook","authorizeCallback called");
    } catch (Exception e) {
        Log.d("fbproblem", e.getMessage());
        Toast.makeText(getApplicationContext(),
                "Something goes wrong Try again Later!!", Toast.LENGTH_LONG)
                .show();
    }
}
4

0 に答える 0