我实现了两种分享方式。使用 Facebook 和推特。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
adapter = new SocialAuthAdapter(new ResponseListener());
}
public void twitter(View view) {
adapter.authorize(this, SocialAuthAdapter.Provider.TWITTER);
}
public void facebook(View view) {
adapter.authorize(this, SocialAuthAdapter.Provider.FACEBOOK);
}
private final class ResponseListener implements DialogListener {
public void onComplete(Bundle values) {
adapter.updateStatus("status");
Log.e("a", "success");
}
public void onError(SocialAuthError error) {
Log.e("a", "error");
}
public void onCancel() {
Log.e("a", "cancel");
}
}
当我第一次单击任何共享按钮时,我在日志和状态中显示“成功”。但是,当我第二次单击它时,出现“成功”和“错误”,并且未发布状态。
异常(exception)是
02-12 01:16:40.158: WARN/System.err(12526): org.brickred.socialauth.exception.SocialAuthException: org.brickred.socialauth.exception.SocialAuthException: Status not updated. Return Status code :400
02-12 01:16:40.158: WARN/System.err(12526): at org.brickred.socialauth.provider.FacebookImpl.updateStatus(FacebookImpl.java:276)
02-12 01:16:40.158: WARN/System.err(12526): at org.brickred.socialauth.android.SocialAuthAdapter$4.run(SocialAuthAdapter.java:414)
02-12 01:16:40.158: WARN/System.err(12526): at java.lang.Thread.run(Thread.java:856)
02-12 01:16:40.158: WARN/System.err(12526): Caused by: org.brickred.socialauth.exception.SocialAuthException: Status not updated. Return Status code :400
02-12 01:16:40.158: WARN/System.err(12526): at org.brickred.socialauth.provider.FacebookImpl.updateStatus(FacebookImpl.java:271)
02-12 01:16:40.158: WARN/System.err(12526): ... 2 more
最佳答案
您正在尝试将同一消息发布两次。 Facebook 和推特将其视为垃圾邮件,不允许这样做。 发布不同的消息,这将是成功的。
关于android - 如果尝试连续两次共享,社交身份验证 android 会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14822785/