Android Facebook SDK registerCallback方法不起作用

时间:2017-11-08 20:41:39

标签: android android-facebook

Facebook skd的 registerCallback 方法无效。我无法找到问题。共享对话框正在显示,但在共享代码后,并未输入 shareDialog.registerCallback 方法。

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_facebook_share_test);
        button = findViewById(R.id.btnFbShareTesttt);
        shareDialog = new ShareDialog(this);
        callbackManager = CallbackManager.Factory.create();

        shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
            @Override
            public void onSuccess(Sharer.Result result) {
                Toast.makeText(FacebookShareTest.this, "Share success!", Toast.LENGTH_SHORT).show();
                Log.e(TAG, "Fb onSuccess");
            }

            @Override
            public void onCancel() {
                Toast.makeText(FacebookShareTest.this, "Did not share", Toast.LENGTH_SHORT).show();
                Log.e(TAG, "Fb onCancel");
            }

            @Override
            public void onError(FacebookException error) {
                Toast.makeText(FacebookShareTest.this, "Error", Toast.LENGTH_SHORT).show();
                Log.e(TAG, "Fb onError");
            }
        }, 909090);

        ShareLinkContent linkContent = new ShareLinkContent.Builder()
                .setContentUrl(Uri.parse("http://androidlift.info"))
                .build();
        shareDialog.show(FacebookShareTest.this, linkContent);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ShareLinkContent linkContent = new ShareLinkContent.Builder()
                        .setContentUrl(Uri.parse("http://androidlift.info"))
                        .build();
                shareDialog.show(FacebookShareTest.this, linkContent);
            }
        });
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        callbackManager.onActivityResult(requestCode, resultCode, data);
    }

0 个答案:

没有答案