微博分享、注销功能的实现

  前几天做了微博的授权认证,这几天又做了分享微博、注销登录,下面分别总结下:

  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();
                }
            }
        }

  至此便可完成注销登录功能。

posted on 2014-07-21 17:40  小太阳550  阅读(806)  评论(0编辑  收藏  举报

导航