SINA
首先
去开发者平台添加个测试账号
应用信息–测试信息—测试账号。
然后 接之前的微博,导jar包,SO库。等等。。
直接代码 :
public class sharedActivity extends AppCompatActivity implements IWeiboHandler.Response {
/**
* 微博微博分享接口实例
*/
private IWeiboShareAPI mWeiboShareAPI = null;
/**
* 从微博客户端唤起第三方应用时,客户端发送过来的请求数据对象
*/
private BaseRequest mBaseRequest = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_shared_layout);
mWeiboShareAPI = WeiboShareSDK.createWeiboAPI(this, Constants.APP_KEY);
mWeiboShareAPI.registerApp();
SendMultiMessageToWeiboRequest request = new SendMultiMessageToWeiboRequest();
WeiboMultiMessage weiboMessage = new WeiboMultiMessage();
weiboMessage.textObject = getTextObj();
request.transaction = String.valueOf(System.currentTimeMillis());
request.multiMessage = weiboMessage;
AuthInfo authInfo = new AuthInfo(this, Constants.APP_KEY, Constants.REDIRECT_URL, Constants.SCOPE);
Oauth2AccessToken accessToken = AccessTokenKeeper.readAccessToken(getApplicationContext());
String token = "";
if (accessToken != null) {
token = accessToken.getToken();
}
mWeiboShareAPI.sendRequest(sharedActivity.this, request, authInfo, token, new WeiboAuthListener() {
@Override
public void onComplete(Bundle bundle) {
//Oauth2AccessToken newToken = Oauth2AccessToken.parseAccessToken(bundle);
// AccessTokenKeeper.writeAccessToken(getApplicationContext(), newToken);
}
@Override
public void onWeiboException(WeiboException e) {
}
@Override
public void onCancel() {
}
});
}
@Override
public void onResponse(BaseResponse baseResponse) {
switch (baseResponse.errCode) {
case WBConstants.ErrorCode.ERR_OK:
Toast.makeText(this, "分享成功", Toast.LENGTH_SHORT).show();
break;
case WBConstants.ErrorCode.ERR_FAIL:
Toast.makeText(this, "分享失败", Toast.LENGTH_SHORT).show();
break;
case WBConstants.ErrorCode.ERR_CANCEL:
Toast.makeText(this, "取消分享", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
mWeiboShareAPI.handleWeiboResponse(intent, this);
}
private TextObject getTextObj() {
TextObject textObject = new TextObject();
textObject.text = "分享的东西";
return textObject;
}
}
可能会出现的错误:
1,显示 发表博客失败
账号不对,不能用开发账号去分享。即使已经加入了测试账号。
2,显示 {error userinfo error pos 5}
没有用测试账号去分享,把该账号加入到测试账号就行了 “ 应用信息–测试信息—测试账号。”
其他类型的消息分享(图片音乐视频等)请参考demo,只是数据类型不同。