编程语言
首页 > 编程语言> > 共享对话框无法与Facebook应用程序[android]

共享对话框无法与Facebook应用程序[android]

作者:互联网

我正在使用共享对话框来共享用户时间线上的链接,但在安装Facebook应用程序时它无法正常工作.它使用默认浏览器正常运行(卸载应用程序时).
请注意,无论是否使用FB应用程序,FB登录都可以正常工作.

这是我的代码:

if(click_id==R.id.comboshare_fb) //Button click
    {
        loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
                // App code
                String userid = loginResult.getAccessToken().getUserId(); //Gets the userid.
                Toast.makeText(getApplicationContext(), "Login Successful!", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onCancel() {

            }

            @Override
            public void one rror(FacebookException error) {

            }

        }); //Login is working

        shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
            @Override
            public void onSuccess(Sharer.Result result) {

            }

            @Override
            public void onCancel() {
                Toast.makeText(getApplicationContext(), "Share Cancelled!", Toast.LENGTH_SHORT).show();

            }

            @Override
            public void one rror(FacebookException error) {

                Log.d("Final Problem", "onError " + error);

            }


        });
        ShareLinkContent linkContent = new ShareLinkContent.Builder()
                .setQuote("I completed 3X Combo in Wordplay! :)")
                .setContentUrl(Uri.parse("https://i2.wp.com/sbansite.files.wordpress.com/2018/07/yay-you-completed-3-combo-10.png?ssl=1&w=450"))
                .build();

        if(shareDialog.canShow(ShareLinkContent.class))
                {
                    shareDialog.show(linkContent);
                }}

我从sharedialog的onError()获得的错误是:D /最终问题:onError无效long:“null”

欢迎任何帮助,提前谢谢.

附:我的应用程序仍处于Facebook的开发模式.

解决方法:

这是最新Facebook应用程序中引入的错误.

以下是报告问题的链接:https://developers.facebook.com/bugs/647119912303459/

如果要为使用此版本应用的用户添加变通方法,可以在错误回调中添加以下内容:

@Override
public void one rror(FacebookException error) {
    if (error != null && error.getMessage().equals("null") {
        // Don't use the app for sharing in case of null-error
        shareDialog.show(linkContent, ShareDialog.Mode.WEB);
    }
}

通过webview-share共享工作

标签:android,facebook-sdk-4-0,fbsdksharedialog
来源: https://codeday.me/bug/20190627/1303998.html