Facebook分享对话框未显示-Android Facebook API

时间:2018-06-20 13:38:54

标签: android android-facebook

单击Facebook共享按钮后,共享对话框出现,并立即消失。在shareDialog.registerCallback中转到onError方法。不明白为什么会这样。

CallbackManager callbackManager;
    ShareDialog shareDialog;

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
FacebookSdk.setApplicationId(String.valueOf(R.string.facebook_app_id));
        FacebookSdk.sdkInitialize(getApplicationContext());
        callbackManager = CallbackManager.Factory.create();
        shareDialog = new ShareDialog(this);

shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
            @Override
            public void onSuccess(Sharer.Result result) {
                Toast.makeText(MainActivity.this, "onSuccess", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onCancel() {
                Toast.makeText(MainActivity.this, "onCancel", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onError(FacebookException error) {
                Toast.makeText(MainActivity.this, "Opps! Some error occurred. Please try again", Toast.LENGTH_SHORT).show();
            }
        });

bFbShare.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (ShareDialog.canShow(ShareLinkContent.class)) {
                    ShareLinkContent linkContent = new ShareLinkContent.Builder()
                      .setQuote("Hi ABCE")                     .setContentUrl(Uri.parse("https://play.google.com/store/apps/details?id=" + getApplicationContext().getPackageName()))
                            .build();
                    shareDialog.show(MainActivity.this, linkContent);
                }
            }
        });

Logcat 中,我得到了

GraphResponse: {HttpStatus: 404, errorCode: 803, subErrorCode: -1, errorType: OAuthException, errorMessage: (#803) Some of the aliases you requested do not exist: 2131492917}

1 个答案:

答案 0 :(得分:0)

if (ShareDialog.canShow(ShareLinkContent.class))onClick删除对我很有用。