前几天做了微博的授权认证,这几天又做了分享微博、注销登录,下面分别总结下:
1.分享微博:
微博分享和邀请好友的实现思路差不多,主要分为以下几个步骤:
(1)创建微博分享接口实例
mWeiboShareAPI=WeiboShareSDK.createWeiboAPI(this, Constants.APP_KEY);
(2)检测用户是否已安装客户端并注册第三方应用到客户端
mWeiboShareAPI.checkEnvironment(true) mWeiboShareAPI.registerApp();
(3)初始化分享内容并唤起客户端分享界面
WeiboMultiMessage weiboMessage=new WeiboMultiMessage(); weiboMessage.textObject=getTextObj(); //初始化第三方到微博的消息请求 SendMultiMessageToWeiboRequest request=new SendMultiMessageToWeiboRequest(); //用transaction唯一标识一个请求 request.transaction=String.valueOf(System.currentTimeMillis()); request.multiMessage=weiboMessage; //发送请求,唤起微博分享界面 mWeiboShareAPI.sendRequest(request);
(4)接收客户端请求的数据
public void onResponse(BaseResponse baseResp) { switch (baseResp.errCode) { case WBConstants.ErrorCode.ERR_OK: Toast.makeText(this, R.string.weibosdk_demo_toast_share_success, Toast.LENGTH_LONG).show(); break; case WBConstants.ErrorCode.ERR_CANCEL: Toast.makeText(this, R.string.weibosdk_demo_toast_share_canceled, Toast.LENGTH_LONG).show(); break; case WBConstants.ErrorCode.ERR_FAIL: Toast.makeText(this, getString(R.string.weibosdk_demo_toast_share_failed) + "Error Message: " + baseResp.errMsg, Toast.LENGTH_LONG).show(); break; } }
至此便可实现微博分享功能。
2.注销登录
注销登录实现起来很简单,主要分为以下两个步骤:
(1)在注销按钮监听事件中调用注销API
logoutBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub //直接调用注销API new LogoutAPI(AccessTokenKeeper.readAccessToken(MainActivity.this)).logout(mLogoutListener); Toast.makeText(MainActivity.this, "注销按钮被单击", Toast.LENGTH_SHORT).show(); } });
(2)创建注销请求监听器
private class LogOutRequestListener implements RequestListener{ @Override public void onComplete(String response) { // TODO Auto-generated method stub if(!TextUtils.isEmpty(response)) { try { JSONObject obj=new JSONObject(response);//创建JSON数据对象 String value=obj.getString("result"); if("true".equalsIgnoreCase(value)) { AccessTokenKeeper.clear(MainActivity.this);//清除AccessToken mTokenText.setText(R.string.logout_success); inviteBtn.setEnabled(false); shareBtn.setEnabled(false); logoutBtn.setEnabled(false); Toast.makeText(MainActivity.this, R.string.logout_success, Toast.LENGTH_LONG).show(); } } catch(JSONException e) { e.printStackTrace(); } } }
至此便可完成注销登录功能。