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();
}
}