1. 简述
现在已经是2013年7月份了,最新的SDK还是去年8月份出的,最近没怎么更新的说。
SDK的下载链接:http://open.weibo.com/wiki/SDK,其中文档内容很详细,本文仅介绍其中与SSO登录相关的内容。
去年8月份的SDK:http://download.csdn.net/detail/u011267546/5814259
2. 准备的内容
Comsume Key和Redirect Url,具体获取方法,见SDK内的”Weibo_Android_SDK使用手册.pdf“。
3. Manifest
permission
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
4. API
登录授权
Weibo mWeibo = Weibo.getInstance(APP_KEY, REDIRECT_URL);
SsoHandler mSsoHandler = new SsoHandler(context, mWeibo); // context是进行登录的Activity的上下文
WeiboAuthListener authListener = new WeiboAuthListener() {
@Override
public void onWeiboException(WeiboException arg0) {
L.d(this, "onWeiboException");
// TODO:授权失败的处理
}
@Override
public void onError(WeiboDialogError arg0) {
L.d(this, "onError");
// TODO:授权失败的处理
}
@Override
public void onComplete(Bundle values) {
L.d(this, "onComplete");
String token = values.getString("access_token");
String expires_in = values.getString("expires_in");
// TODO:授权成功的处理
}
@Override
public void onCancel() {
L.d(this, "onCancel");
// TODO:授权取消的处理
}
};
在授权的Activity中调用代码,其中request code是32973。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (mSsoHandler != null) {
mSsoHandler.authorizeCallBack(requestCode, resultCode, data);
}
}