共享对话框不适用于 Facebook 应用 [android]
Share dialog isn't working with Facebook app [android]
我正在使用共享对话框将 link 共享到用户的时间轴上,但在安装 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 onError(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 onError(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/Final Problem: onError Invalid long: "null"
欢迎任何帮助,在此先感谢。
P.S。我的应用程序在 Facebook 仍处于开发模式。
这是最新的 Facebook 应用程序中引入的错误。
这里 link 报告的问题:https://developers.facebook.com/bugs/647119912303459/
如果您想为使用此版本应用的用户添加解决方法,您可以在错误回调中添加如下内容:
@Override
public void onError(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 作品分享
我正在使用共享对话框将 link 共享到用户的时间轴上,但在安装 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 onError(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 onError(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/Final Problem: onError Invalid long: "null"
欢迎任何帮助,在此先感谢。
P.S。我的应用程序在 Facebook 仍处于开发模式。
这是最新的 Facebook 应用程序中引入的错误。
这里 link 报告的问题:https://developers.facebook.com/bugs/647119912303459/
如果您想为使用此版本应用的用户添加解决方法,您可以在错误回调中添加如下内容:
@Override
public void onError(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 作品分享