Android 第三方登录

1. sina一键登录
 jar包:weibosdkcore_v3.0.1.jar

必须注意:
1.  libs 目录下, 需要建立一个armeabi的文件夹 用于存放官方的 libweibosdkcore.so 文件 , 否则会出现找不到库的问题

2. AndroidManifest.xml 配置文件中需要加入:
  <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 用于调用 JNI -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    

<activity
            android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"
            android:configChanges="keyboardHidden|orientation"
            android:exported="false"
            android:windowSoftInputMode="adjustResize" >
        </activity>
        <service
            android:name="com.sina.weibo.sdk.net.DownloadService"
            android:exported="false" >
        </service>
用于配置第三方activity,用于SSO授权登录、分享。

3.  layout.xml文件中  
登录按钮 : <com.sina.weibo.sdk.widget.LoginButton
                        ......
                     />
4.  代码:

package com.cdsmartlink.wine.android.activity;

import android.app.Activity;
import android.os.Bundle;

import com.cdsmartlink.wine.android.constants.Constants;
import com.sina.weibo.sdk.auth.AuthInfo;
import com.sina.weibo.sdk.auth.Oauth2AccessToken;
import com.sina.weibo.sdk.auth.WeiboAuthListener;
import com.sina.weibo.sdk.exception.WeiboException;
import com.sina.weibo.sdk.widget.LoginButton;

/**
 * 第三方登录
 * @author guojing
 *
 */
public class ThirdPartyLoginActivity extends Activity{
 /*界面UI*/
 //新浪微博登录按钮
 private  LoginButton sinaWeiboButton;


 //新浪微博授权信息
 private AuthInfo sinaAuthInfo;
  //监听点击登录的事件
 private SinaAuthListener sinaAuthListener = new SinaAuthListener();
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.login_layout);

  /**  获取新浪授权的信息
     *  SINA_APP_KEY : 应用APP_KEY
     *  SINA_REDIRECT_URL : 回调地址
     *  SINA_SCOPE : 授权作用域
     * /
sinaAuthInfo = new AuthInfo(this, Constants.SINA_APP_KEY, Constants.SINA_REDIRECT_URL, Constants.SINA_SCOPE);
 
  sinaWeiboButton = (LoginButton) findViewById(R.id.signin_button);
 
  //设置一键登录按钮样式:默认可以不设置
// sinaWeiboButton.setStyle(LoginButton.LOGIN_INCON_STYLE_1);
   //绑定新浪微博登录按钮的回调事件监听
  sinaWeiboButton.setWeiboAuthInfo(sinaAuthInfo, sinaAuthListener);
 
 }
}

//监听sina提供的登录按钮的监听器
class SinaAuthListener implements WeiboAuthListener {
//授权登录取消
 @Override
 public void onCancel() {

 }

//授权登录完成
 @Override
 public void onComplete(Bundle bundle) {
  Oauth2AccessToken accessToken = Oauth2AccessToken.parseAccessToken(bundle);
  if(accessToken != null && accessToken.isSessionValid()){
   //对授权成功的数据进行绑定
  }
 }

 @Override
 public void onWeiboException(WeiboException arg0) {

 }
}




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值