在QQ登陆测试的时候,刚申请正常登陆,但是由于app未上线,或许是腾讯升级造成的个别时候QQ登陆无法成功会提示下图代码,功能上没啥问题,已经达到 测试效果了。附上腾讯错误代码图(大家测试QQ登陆的时候,包括微博登陆都需要自行申请 AppId 以及AppKey,当然用我的也可以 )
 
 
整体的效果图如下,大家
 
 
 
 
MainActivity:
|  
        
         1 
         
       
         2 
         
       
         3 
         
       
         4 
         
       
         5 
         
       
         6 
         
       
         7 
         
       
         8 
         
       
         9 
         
       
         10 
         
       
         11 
         
       
         12 
         
       
         13 
         
       
         14 
         
       
         15 
         
       
         16 
         
       
         17 
         
       
         18 
         
       
         19 
         
       
         20 
         
       
         21 
         
       
         22 
         
       
         23 
         
       
         24 
         
       
         25 
         
       
         26 
         
       
         27 
         
       
         28 
         
       
         29 
         
       
         30 
         
       
         31 
         
       
         32 
         
       
         33 
         
       
         34 
         
       
         35 
         
       
         36 
         
       
         37 
         
       
         38 
         
       
         39 
         
       
         40 
         
       
         41 
         
       
         42 
         
       
         43 
         
       
         44 
         
       
         45 
         
       
         46 
         
       
         47 
         
       
         48 
         
       
         49 
         
       
         50 
         
       
         51 
         
       
         52 
         
       
         53 
         
       
         54 
         
       
         55 
         
       
         56 
         
       
         57 
         
       
         58 
         
       
         59 
         
       
         60 
         
       
         61 
         
       
         62 
         
       
         63 
         
       
         64 
         
       
         65 
         
       
         66 
         
       
         67 
         
       
         68 
         
       
         69 
         
       
         70 
         
       
         71 
         
       
         72 
         
       
         73 
         
       
         74 
         
       
         75 
         
       
         76 
         
       
         77 
         
       
         78 
         
       
         79 
         
       
         80 
         
       
         81 
         
       
         82 
         
       
         83 
         
       
         84 
         
       
         85 
         
       
         86 
         
       
         87 
         
       
         88 
         
       
         89 
         
       
         90 
         
       
         91 
         
       
         92 
         
       
         93 
         
       
         94 
         
       
         95 
         
       
         96 
         
       
         97 
         
       
         98 
         
       
         99 
         
       
         100 
         
       
         101 
         
       
         102 
         
       
         103 
         
       
         104 
         
       
         105 
         
       
         106 
         
       
         107 
         
       
         108 
         
       
         109 
         
       
         110 
         
       
         111 
         
       
         112 
         
       
         113 
         
       
         114 
         
       
         115 
         
       
         116 
         
       
         117 
         
       
         118 
         
       
         119 
         
       
         120 
         
       
         121 
         
       
         122 
         
       
         123 
         
       
         124 
         
       
         125 
         
       
         126 
         
       
         127 
         
       
         128 
         
       
         129 
         
       
         130 
         
       
         131 
         
       
         132 
         
       
         133 
         
       
         134 
         
       
         135 
         
       
         136 
         
       
         137 
         
       
         138 
         
       
         139 
         
       
         140 
         
       
         141 
         
       
         142 
         
       
         143 
         
       
         144 
         
       
         145 
         
       
         146 
         
       
         147 
         
       
         148 
         
       
         149 
         
       
         150 
         
       
         151 
         
       
         152 
         
       
         153 
         
       
         154 
         
       
         155 
         
       
         156 
         
       
         157 
         
       
         158 
         
       
         159 
         
       
         160 
         
       
         161 
         
       
         162 
         
       
         163 
         
       
         164 
         
       
         165 
         
       
         166 
         
       
         167 
         
       
         168 
         
       
         169 
         
       
         170 
         
       
         171 
          |  
       
       package  
         com.qiao.thirdpartylogindemo_master2; 
        import  
         java.util.HashMap; 
        import  
         android.app.Activity; 
        import  
         android.os.Bundle; 
        import  
         android.os.Handler.Callback; 
        import  
         android.os.Message; 
        import  
         android.text.TextUtils; 
        import  
         android.util.Log; 
        import  
         android.view.View; 
        import  
         android.view.View.OnClickListener; 
        import  
         android.widget.Button; 
        import  
         android.widget.Toast; 
        import  
         cn.sharesdk.framework.Platform; 
        import  
         cn.sharesdk.framework.PlatformActionListener; 
        import  
         cn.sharesdk.framework.ShareSDK; 
        import  
         cn.sharesdk.framework.utils.UIHandler; 
        import  
         cn.sharesdk.sina.weibo.SinaWeibo; 
        import  
         cn.sharesdk.tencent.qzone.QZone; 
        import  
         cn.sharesdk.tencent.weibo.TencentWeibo; 
        /** 
          
         * 此demo使用第三方登陆,例子比较简单 
          
         * @author 有点凉了 
          
         * 
          
         */ 
        public  
         class  
         MainActivity  
         extends  
         Activity  
         implements  
         OnClickListener,Callback,PlatformActionListener{ 
             
         private  
         static  
         final  
         String TAG= 
         "MainActivity" 
         ; 
             
         private  
         Button button_main_login; 
             
         private  
         Button button_main_restart; 
             
         private  
         Button button_main_exit; 
              
             
         @Override 
             
         protected  
         void  
         onCreate(Bundle savedInstanceState) { 
                 
         super 
         .onCreate(savedInstanceState); 
                 
         ShareSDK.initSDK( 
         this 
         ); 
         //初始化shareSdk 
                 
         setContentView(R.layout.activity_main); 
                 
         button_main_login = (Button)findViewById(R.id.button_main_login); 
                 
         button_main_restart=(Button)findViewById(R.id.button_main_restart); 
                 
         button_main_login.setOnClickListener( 
         this 
         ); 
                 
         button_main_restart.setOnClickListener( 
         this 
         ); 
                 
         findViewById(R.id.button_main_exit).setOnClickListener( 
         this 
         ); 
                 
         findViewById(R.id.button_main_login_weibo).setOnClickListener( 
         this 
         ); 
                 
         findViewById(R.id.button_main_restart_qq).setOnClickListener( 
         this 
         ); 
             
         } 
             
         @Override 
             
         protected  
         void  
         onDestroy() { 
                 
         super 
         .onDestroy(); 
                 
         ShareSDK.stopSDK( 
         this 
         ); 
             
         } 
             
         @Override 
             
         public  
         void  
         onCancel(Platform platform,  
         int  
         action) { 
                 
         if  
         (action==Platform.ACTION_USER_INFOR) { 
                     
         UIHandler.sendEmptyMessage( 
         3 
         ,  
         this 
         ); 
                 
         } 
             
         } 
        //  如果onComplete()方法被回调,表示授权成功,引导用户进入系统 
             
         @Override 
             
         public  
         void  
         onComplete(Platform platform,  
         int  
         action, HashMap<String, Object> res) { 
                 
         if  
         (action ==Platform.ACTION_USER_INFOR) { 
                     
         UIHandler.sendEmptyMessage( 
         5 
         ,  
         this 
         ); 
                     
         login(platform.getName(), platform.getDb().getUserId(), res); 
                      
                     
         Log.i(TAG,  
         "==" 
         +res); 
                 
         } 
             
         } 
             
         @Override 
             
         public  
         void  
         onError(Platform platform,  
         int  
         action, Throwable t) { 
                 
         if  
         (action==Platform.ACTION_USER_INFOR) { 
                     
         UIHandler.sendEmptyMessage( 
         4 
         ,  
         this 
         ); 
                 
         } 
                 
         t.printStackTrace(); 
             
         } 
             
         @Override 
             
         public  
         boolean  
         handleMessage(Message msg) { 
                 
         switch  
         (msg.what) { 
                 
         case  
         1 
         : 
                     
         Toast.makeText( 
         this 
         ,  
         "用户信息已存在,正在跳转登录操作…" 
         , Toast.LENGTH_SHORT).show(); 
                     
         break 
         ; 
                 
         case  
         2 
         : 
                     
         String text = getString(R.string.logining, msg.obj); 
                     
         Toast.makeText( 
         this 
         , text, Toast.LENGTH_SHORT).show(); 
                     
         break 
         ; 
                 
         case  
         3 
         : 
                     
         Toast.makeText( 
         this 
         ,  
         "授权操作已取消" 
         , Toast.LENGTH_SHORT).show(); 
                     
         break 
         ; 
                 
         case  
         4 
         : 
                     
         Toast.makeText( 
         this 
         ,  
         "授权操作遇到错误,请阅读Logcat输出" 
         , Toast.LENGTH_SHORT).show(); 
                     
         break 
         ; 
                 
         case  
         5 
         : 
                     
         Toast.makeText( 
         this 
         ,  
         "授权成功,正在跳转登录操作…" 
         , Toast.LENGTH_SHORT).show(); 
                     
         break 
         ; 
                 
         default 
         : 
                     
         break 
         ; 
                 
         } 
                 
         return  
         false 
         ; 
             
         } 
             
         //  用户触发第三方登录事件 
             
         @Override 
             
         public  
         void  
         onClick(View v) { 
        //      Platform pf =null; 
                 
         switch  
         (v.getId()) { 
                 
         case  
         R.id.button_main_login: 
                     
         //(1)直接使用QQ账号登陆 
                     
         authorize( 
         new  
         QZone( 
         this 
         )); 
         //  
                     
         break 
         ; 
                 
         case  
         R.id.button_main_restart: 
                     
         Platform pf2=ShareSDK.getPlatform(MainActivity. 
         this 
         ,TencentWeibo.NAME); 
                     
         if  
         (pf2.isValid()) { 
                         
         pf2.removeAccount(); 
         //删除授权信息 
                     
         } 
                     
         pf2.setPlatformActionListener( 
         this 
         ); 
                     
         pf2.authorize(); 
                     
         break 
         ; 
                 
         case  
         R.id.button_main_exit: 
                     
         Platform pf3=ShareSDK.getPlatform(MainActivity. 
         this 
         ,TencentWeibo.NAME); 
                     
         Platform pf5=ShareSDK.getPlatform(MainActivity. 
         this 
         ,QZone.NAME); 
                     
         if  
         (pf3.isValid()) { 
                         
         pf3.removeAccount(); 
         //删除授权信息 
                          
                     
         } 
                     
         if  
         (pf5.isValid()) { 
                         
         pf5.removeAccount(); 
                     
         } 
                     
         Toast.makeText( 
         this 
         ,  
         "退出成功,测试请点击上方登陆按钮,如果出现重新登陆界面则算成功" 
         , Toast.LENGTH_LONG).show(); 
                     
         break 
         ; 
                 
         case  
         R.id.button_main_login_weibo: 
                     
         // (2)、 //使用腾讯微博登陆先要初始化腾讯微博 
                     
         Platform pf = ShareSDK.getPlatform(MainActivity. 
         this 
         ,TencentWeibo.NAME); 
                     
         pf.SSOSetting( 
         true 
         ); 
                     
         pf.setPlatformActionListener( 
         this 
         ); 
                     
         pf.showUser( 
         null 
         ); 
                     
         Log.i(TAG,  
         "==用户id:"  
         + pf.getDb().getUserId() +  
         "  用户名称:" 
         + pf.getDb().getUserName() +  
         "  用户icon:" 
         + pf.getDb().getUserIcon() +  
         " 这个是啥:" 
         + pf.getDb().getUserGender()); 
                     
         break 
         ; 
                 
         case  
         R.id.button_main_restart_qq: 
                     
         Platform pf4=ShareSDK.getPlatform(MainActivity. 
         this 
         ,QZone.NAME); 
                     
         if  
         (pf4.isValid()) { 
                         
         pf4.removeAccount(); 
                     
         } 
                     
         pf4.setPlatformActionListener( 
         this 
         ); 
                     
         authorize( 
         new  
         QZone( 
         this 
         )); 
                     
         break 
         ; 
                 
         default 
         : 
                     
         break 
         ; 
                 
         } 
             
         } 
        //  authorize()方法将引导用户在授权页面输入帐号密码,然后目标平台将验证此用户(此方法在此例子中仅仅是QQ账号登陆时候使用) 
             
         public  
         void  
         authorize(Platform plat){ 
                 
         if  
         (plat.isValid()) { 
                     
         String userId =plat.getDb().getUserId(); 
         //获取id 
                     
         if  
         (!TextUtils.isEmpty(userId)) { 
                         
         UIHandler.sendEmptyMessage( 
         1 
         ,  
         this 
         ); 
                         
         login(plat.getName(),userId, 
         null 
         ); 
         //不等于null执行登陆,讲用户id发送至目标平台进行验证 
                         
         return 
         ; 
                     
         } 
                 
         } 
                 
         plat.setPlatformActionListener( 
         this 
         ); 
                 
         plat.SSOSetting( 
         true 
         ); 
                 
         plat.showUser( 
         null 
         ); 
             
         } 
             
         public  
         void  
         login(String plat,String userId,HashMap<String, Object> userInfo){ 
                 
         Message msg =  
         new  
         Message(); 
                 
         msg.what =  
         2 
         ; 
                 
         msg.obj = plat; 
                 
         UIHandler.sendMessage(msg,  
         this 
         ); 
             
         } 
        } 
         |  
     
布局:
|  
        
         1 
         
       
         2 
         
       
         3 
         
       
         4 
         
       
         5 
         
       
         6 
         
       
         7 
         
       
         8 
         
       
         9 
         
       
         10 
         
       
         11 
         
       
         12 
         
       
         13 
         
       
         14 
         
       
         15 
         
       
         16 
         
       
         17 
         
       
         18 
         
       
         19 
         
       
         20 
         
       
         21 
         
       
         22 
         
       
         23 
         
       
         24 
         
       
         25 
         
       
         26 
         
       
         27 
         
       
         28 
         
       
         29 
         
       
         30 
         
       
         31 
         
       
         32 
         
       
         33 
         
       
         34 
         
       
         35 
         
       
         36 
         
       
         37 
         
       
         38 
         
       
         39 
         
       
         40 
         
       
         41 
         
       
         42 
         
       
         43 
         
       
         44 
         
       
         45 
         
       
         46 
         
       
         47 
         
       
         48 
         
       
         49 
         
       
         50 
         
       
         51 
         
       
         52 
         
       
         53 
         
       
         54 
         
       
         55 
         
       
         56 
         
       
         57 
         
       
         58 
         
       
         59 
          |  
       
       <RelativeLayout xmlns:android= 
         "http://schemas.android.com/apk/res/android" 
             
         android:layout_width= 
         "match_parent" 
             
         android:layout_height= 
         "match_parent" 
             
         android:paddingBottom= 
         "@dimen/activity_vertical_margin" 
             
         android:paddingLeft= 
         "@dimen/activity_horizontal_margin" 
             
         android:paddingRight= 
         "@dimen/activity_horizontal_margin" 
             
         android:paddingTop= 
         "@dimen/activity_vertical_margin" 
             
         tools:context= 
         "com.qiao.thirdpartylogindemo_master2.MainActivity"  
         > 
             
         <TextView 
                 
         android:id= 
         "@+id/textView1" 
                 
         android:layout_width= 
         "wrap_content" 
                 
         android:layout_height= 
         "wrap_content" 
                 
         android:text= 
         "@string/hello_world"  
         /> 
             
         <Button 
                 
         android:id= 
         "@+id/button_main_login" 
                 
         android:layout_width= 
         "wrap_content" 
                 
         android:layout_height= 
         "wrap_content" 
                 
         android:layout_below= 
         "@+id/textView1" 
                 
         android:layout_marginTop= 
         "30dp" 
                 
         android:layout_toRightOf= 
         "@+id/textView1" 
                 
         android:text= 
         "QQ第三方登陆"  
         /> 
             
         <Button 
                 
         android:id= 
         "@+id/button_main_restart" 
                 
         android:layout_width= 
         "wrap_content" 
                 
         android:layout_height= 
         "wrap_content" 
                 
         android:layout_above= 
         "@+id/button_main_exit" 
                 
         android:layout_centerHorizontal= 
         "true" 
                 
         android:text= 
         "切换微博账号"  
         /> 
             
         <Button 
                 
         android:id= 
         "@+id/button_main_login_weibo" 
                 
         android:layout_width= 
         "wrap_content" 
                 
         android:layout_height= 
         "wrap_content" 
                 
         android:layout_alignLeft= 
         "@+id/button_main_login" 
                 
         android:layout_below= 
         "@+id/button_main_login" 
                 
         android:text= 
         "QQ微博账号登陆"  
         /> 
             
         <Button 
                 
         android:id= 
         "@+id/button_main_exit" 
                 
         android:layout_width= 
         "wrap_content" 
                 
         android:layout_height= 
         "wrap_content" 
                 
         android:layout_alignParentBottom= 
         "true" 
                 
         android:layout_alignRight= 
         "@+id/button_main_restart" 
                 
         android:layout_marginBottom= 
         "128dp" 
                 
         android:text= 
         "退出账号"  
         /> 
             
         <Button 
                 
         android:id= 
         "@+id/button_main_restart_qq" 
                 
         android:layout_width= 
         "wrap_content" 
                 
         android:layout_height= 
         "wrap_content" 
                 
         android:layout_above= 
         "@+id/button_main_restart" 
                 
         android:layout_alignLeft= 
         "@+id/button_main_restart" 
                 
         android:text= 
         "切换QQ账号"  
         /> 
        </RelativeLayout> 
         |  
     
需要第三方ShareSdk支持
assets文件夹中
|  
        
         1 
         
       
         2 
         
       
         3 
         
       
         4 
         
       
         5 
         
       
         6 
         
       
         7 
         
       
         8 
         
       
         9 
         
       
         10 
         
       
         11 
         
       
         12 
         
       
         13 
         
       
         14 
         
       
         15 
         
       
         16 
         
       
         17 
         
       
         18 
         
       
         19 
         
       
         20 
         
       
         21 
         
       
         22 
         
       
         23 
         
       
         24 
         
       
         25 
         
       
         26 
         
       
         27 
         
       
         28 
         
       
         29 
         
       
         30 
         
       
         31 
         
       
         32 
         
       
         33 
         
       
         34 
         
       
         35 
         
       
         36 
         
       
         37 
         
       
         38 
         
       
         39 
         
       
         40 
         
       
         41 
         
       
         42 
         
       
         43 
         
       
         44 
         
       
         45 
         
       
         46 
         
       
         47 
         
       
         48 
         
       
         49 
         
       
         50 
         
       
         51 
         
       
         52 
         
       
         53 
         
       
         54 
         
       
         55 
         
       
         56 
         
       
         57 
         
       
         58 
         
       
         59 
         
       
         60 
         
       
         61 
         
       
         62 
         
       
         63 
         
       
         64 
         
       
         65 
         
       
         66 
         
       
         67 
         
       
         68 
         
       
         69 
         
       
         70 
         
       
         71 
         
       
         72 
         
       
         73 
         
       
         74 
         
       
         75 
         
       
         76 
         
       
         77 
         
       
         78 
         
       
         79 
         
       
         80 
         
       
         81 
         
       
         82 
         
       
         83 
         
       
         84 
         
       
         85 
         
       
         86 
         
       
         87 
         
       
         88 
         
       
         89 
         
       
         90 
         
       
         91 
         
       
         92 
         
       
         93 
         
       
         94 
         
       
         95 
         
       
         96 
         
       
         97 
         
       
         98 
         
       
         99 
         
       
         100 
         
       
         101 
         
       
         102 
         
       
         103 
         
       
         104 
         
       
         105 
         
       
         106 
         
       
         107 
         
       
         108 
         
       
         109 
         
       
         110 
         
       
         111 
         
       
         112 
         
       
         113 
         
       
         114 
         
       
         115 
         
       
         116 
         
       
         117 
         
       
         118 
         
       
         119 
         
       
         120 
         
       
         121 
         
       
         122 
         
       
         123 
         
       
         124 
         
       
         125 
         
       
         126 
         
       
         127 
         
       
         128 
         
       
         129 
         
       
         130 
         
       
         131 
         
       
         132 
         
       
         133 
         
       
         134 
         
       
         135 
         
       
         136 
         
       
         137 
         
       
         138 
         
       
         139 
         
       
         140 
         
       
         141 
         
       
         142 
         
       
         143 
         
       
         144 
         
       
         145 
         
       
         146 
         
       
         147 
         
       
         148 
         
       
         149 
         
       
         150 
         
       
         151 
         
       
         152 
         
       
         153 
         
       
         154 
         
       
         155 
         
       
         156 
         
       
         157 
         
       
         158 
         
       
         159 
         
       
         160 
         
       
         161 
         
       
         162 
         
       
         163 
         
       
         164 
         
       
         165 
         
       
         166 
         
       
         167 
         
       
         168 
         
       
         169 
         
       
         170 
         
       
         171 
         
       
         172 
         
       
         173 
         
       
         174 
         
       
         175 
         
       
         176 
         
       
         177 
         
       
         178 
         
       
         179 
         
       
         180 
         
       
         181 
         
       
         182 
         
       
         183 
         
       
         184 
         
       
         185 
         
       
         186 
         
       
         187 
         
       
         188 
         
       
         189 
         
       
         190 
         
       
         191 
         
       
         192 
         
       
         193 
         
       
         194 
         
       
         195 
         
       
         196 
         
       
         197 
         
       
         198 
         
       
         199 
         
       
         200 
         
       
         201 
         
       
         202 
         
       
         203 
         
       
         204 
         
       
         205 
         
       
         206 
         
       
         207 
         
       
         208 
         
       
         209 
         
       
         210 
         
       
         211 
         
       
         212 
         
       
         213 
         
       
         214 
         
       
         215 
         
       
         216 
         
       
         217 
         
       
         218 
         
       
         219 
         
       
         220 
         
       
         221 
         
       
         222 
         
       
         223 
         
       
         224 
         
       
         225 
         
       
         226 
         
       
         227 
         
       
         228 
         
       
         229 
         
       
         230 
         
       
         231 
         
       
         232 
         
       
         233 
         
       
         234 
         
       
         235 
         
       
         236 
         
       
         237 
         
       
         238 
         
       
         239 
         
       
         240 
         
       
         241 
         
       
         242 
         
       
         243 
         
       
         244 
         
       
         245 
         
       
         246 
         
       
         247 
         
       
         248 
         
       
         249 
         
       
         250 
         
       
         251 
         
       
         252 
         
       
         253 
         
       
         254 
         
       
         255 
         
       
         256 
         
       
         257 
         
       
         258 
         
       
         259 
         
       
         260 
         
       
         261 
         
       
         262 
         
       
         263 
         
       
         264 
         
       
         265 
         
       
         266 
         
       
         267 
         
       
         268 
         
       
         269 
         
       
         270 
         
       
         271 
         
       
         272 
         
       
         273 
         
       
         274 
         
       
         275 
         
       
         276 
         
       
         277 
         
       
         278 
         
       
         279 
         
       
         280 
         
       
         281 
         
       
         282 
         
       
         283 
         
       
         284 
         
       
         285 
         
       
         286 
         
       
         287 
         
       
         288 
         
       
         289 
         
       
         290 
         
       
         291 
         
       
         292 
         
       
         293 
         
       
         294 
         
       
         295 
         
       
         296 
         
       
         297 
         
       
         298 
         
       
         299 
         
       
         300 
         
       
         301 
         
       
         302 
         
       
         303 
         
       
         304 
         
       
         305 
         
       
         306 
         
       
         307 
         
       
         308 
         
       
         309 
         
       
         310 
         
       
         311 
         
       
         312 
         
       
         313 
         
       
         314 
         
       
         315 
         
       
         316 
         
       
         317 
         
       
         318 
         
       
         319 
         
       
         320 
          |  
       
       <?xml version= 
         "1.0"  
         encoding= 
         "utf-8" 
         ?> 
        <DevInfor> 
             
         <!-- 
                 
         说明: 
                  
                 
         1 
         、表格中的第一项 
                     
         <ShareSDK  
                         
         AppKey= 
         "api20"  
         /> 
                 
         是必须的,其中的AppKey是您在ShareSDK上注册的开发者帐号的AppKey 
                  
                 
         2 
         、所有集成到您项目的平台都应该为其在表格中填写相对应的开发者信息,以新浪微博为例: 
                     
         <SinaWeibo 
                         
         Id= 
         "1" 
                         
         SortId= 
         "1" 
                         
         AppKey= 
         "568898243" 
                         
         AppSecret= 
         "38a4f8204cc784f81f9f0daaf31e02e3" 
                         
         Enable= 
         "true"  
         /> 
                 
         其中的SortId是此平台在分享列表中的位置,由开发者自行定义,可以是任何整型数字,数值越大 
                 
         越靠后AppKey、AppSecret和RedirectUrl是您在新浪微博上注册开发者信息和应用后得到的信息 
                 
         Id是一个保留的识别符,整型,ShareSDK不使用此字段,供您在自己的项目中当作平台的识别符。 
                 
         Enable字段表示此平台是否有效,布尔值,默认为 
         true 
         ,如果Enable为 
         false 
         ,即便平台的jar包 
                 
         已经添加到应用中,平台实例依然不可获取。 
                  
                 
         各个平台注册应用信息的地址如下: 
                     
         新浪微博                 http: 
         //open.weibo.com 
                     
         腾讯微博                 http: 
         //dev.t.qq.com 
                     
         QQ空间                      http: 
         //connect.qq.com/intro/login/ 
                     
         微信好友                 http: 
         //open.weixin.qq.com 
                     
         Facebook      https: 
         //developers.facebook.com 
                     
         Twitter       https: 
         //dev.twitter.com 
                     
         人人网                      http: 
         //dev.renren.com 
                     
         开心网                      http: 
         //open.kaixin001.com 
                     
         搜狐微博                 http: 
         //open.t.sohu.com 
                     
         网易微博                 http: 
         //open.t.163.com 
                     
         豆瓣                           http: 
         //developers.douban.com 
                     
         有道云笔记            http: 
         //note.youdao.com/open/developguide.html#app 
                     
         印象笔记                 https: 
         //dev.evernote.com/ 
                     
         Linkedin      https: 
         //www.linkedin.com/secure/developer?newapp= 
                     
         FourSquare    https: 
         //developer.foursquare.com/ 
                     
         搜狐随身看            https: 
         //open.sohu.com/ 
                     
         Flickr        http: 
         //www.flickr.com/services/ 
                     
         Pinterest     http: 
         //developers.pinterest.com/ 
                     
         Tumblr        http: 
         //www.tumblr.com/developers 
                     
         Dropbox       https: 
         //www.dropbox.com/developers 
                     
         Instagram     http: 
         //instagram.com/developer# 
                     
         VKontakte     http: 
         //vk.com/dev 
             
         --> 
              
             
         <ShareSDK  
                 
         AppKey =  
         "31a2d4901ac0" 
         /> <!-- 修改成你在sharesdk后台注册的应用的appkey"--> 
              
             
         <!-- ShareByAppClient标识是否使用微博客户端分享,默认是 
         false  
         --> 
        <!--     <SinaWeibo 
                 
         Id= 
         "1" 
                 
         SortId= 
         "1" 
                 
         AppKey= 
         "568898243" 
                 
         AppSecret= 
         "38a4f8204cc784f81f9f0daaf31e02e3" 
                 
         ShareByAppClient= 
         "true" 
                 
         Enable= 
         "true"  
         /> 
          
         --> 
             
         <TencentWeibo 
                 
         Id= 
         "2" 
                 
         SortId= 
         "2" 
                 
         AppKey= 
         "801530433" 
                 
         AppSecret= 
         "3ed1cc342bd5c8871aebb69ef55c5606" 
                 
         Enable= 
         "true"  
         /> 
             
         <!-- ShareByAppClient标识是否使用微博客户端分享,默认是 
         false  
         --> 
           
         <!--   QQ账号登陆测试完成 --> 
             
         <QZone 
                 
         Id= 
         "3" 
                 
         SortId= 
         "3" 
                 
         AppId= 
         "1102908041" 
                 
         AppKey= 
         "b70Yvb01LfSqzzKE" 
                 
         ShareByAppClient= 
         "true" 
                 
         Enable= 
         "true"  
         /> 
              
            
         <!--  <!--  
                 
         Wechat微信和WechatMoments微信朋友圈的appid是一样的; 
              
                                
         注意:开发者不能用我们这两个平台的appid,否则分享不了 
              
                   
         微信测试的时候,微信测试需要先签名打包出apk, 
                 
         sample测试微信,要先签名打包,keystore在sample项目中,密码 
         123456 
                  
                 
         BypassApproval是绕过审核的标记,设置为 
         true 
         后AppId将被忽略,故不经过 
                 
         审核的应用也可以执行分享,但是仅限于分享文字和图片,不能分享其他类型, 
                 
         默认值为 
         false 
         。此外,微信收藏不支持此字段。 
             
         --> 
          
         <!--    <Wechat 
                 
         Id= 
         "4" 
                 
         SortId= 
         "4" 
                 
         AppId= 
         "wx4868b35061f87885" 
                 
         BypassApproval= 
         "true" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <WechatMoments 
                 
         Id= 
         "5" 
                 
         SortId= 
         "5" 
                 
         AppId= 
         "wx4868b35061f87885" 
                 
         BypassApproval= 
         "true" 
                 
         Enable= 
         "true"  
         /> 
                  
             
         <WechatFavorite 
                 
         Id= 
         "6" 
                 
         SortId= 
         "6" 
                 
         AppId= 
         "wx4868b35061f87885" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <QQ 
                 
         Id= 
         "7" 
                 
         SortId= 
         "7" 
                 
         AppId= 
         "100371282" 
                 
         AppKey= 
         "aed9b0303e3ed1e27bae87c33761161d" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <Facebook 
                 
         Id= 
         "8" 
                 
         SortId= 
         "8" 
                 
         ConsumerKey= 
         "107704292745179" 
                 
         ConsumerSecret= 
         "38053202e1a5fe26c80c753071f0b573" 
                 
         Enable= 
         "true"  
         /> 
             
         <Twitter 
                 
         Id= 
         "9" 
                 
         SortId= 
         "9" 
                 
         ConsumerKey= 
         "mnTGqtXk0TYMXYTN7qUxg" 
                 
         ConsumerSecret= 
         "ROkFqr8c3m1HXqS3rm3TJ0WkAJuwBOSaWhPbZ9Ojuc" 
                 
         Enable= 
         "true"  
         /> 
             
         <Renren 
                 
         Id= 
         "10" 
                 
         SortId= 
         "10" 
                 
         AppId= 
         "226427" 
                 
         ApiKey= 
         "fc5b8aed373c4c27a05b712acba0f8c3" 
                 
         SecretKey= 
         "f29df781abdd4f49beca5a2194676ca4" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <KaiXin 
                 
         Id= 
         "11" 
                 
         SortId= 
         "11" 
                 
         AppKey= 
         "358443394194887cee81ff5890870c7c" 
                 
         AppSecret= 
         "da32179d859c016169f66d90b6db2a23" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <Email 
                 
         Id= 
         "12" 
                 
         SortId= 
         "12" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <ShortMessage 
                 
         Id= 
         "13" 
                 
         SortId= 
         "13" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <SohuMicroBlog 
                 
         Id= 
         "14" 
                 
         SortId= 
         "14" 
                 
         ApiKey= 
         "q70QBQM9T0COxzYpGLj9" 
                 
         ConsumerKey= 
         "q70QBQM9T0COxzYpGLj9" 
                 
         ConsumerSecret= 
         "XXYrx%QXbS!uA^m2$8TaD4T1HQoRPUH0gaG2BgBd" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <NetEaseMicroBlog 
                 
         Id= 
         "15" 
                 
         SortId= 
         "15" 
                 
         ConsumerKey= 
         "T5EI7BXe13vfyDuy" 
                 
         ConsumerSecret= 
         "gZxwyNOvjFYpxwwlnuizHRRtBRZ2lV1j" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <Douban 
                 
         Id= 
         "16" 
                 
         SortId= 
         "16" 
                 
         ApiKey= 
         "02e2cbe5ca06de5908a863b15e149b0b" 
                 
         Secret= 
         "9f1e7b4f71304f2f" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <YouDao 
                 
         Id= 
         "17" 
                 
         SortId= 
         "17" 
                 
         HostType= 
         "product" 
                 
         ConsumerKey= 
         "dcde25dca105bcc36884ed4534dab940" 
                 
         ConsumerSecret= 
         "d98217b4020e7f1874263795f44838fe" 
                 
         Enable= 
         "true"  
         /> 
                  
             
         <SohuSuishenkan 
                 
         Id= 
         "18" 
                 
         SortId= 
         "18" 
                 
         AppKey= 
         "e16680a815134504b746c86e08a19db0" 
                 
         AppSecret= 
         "b8eec53707c3976efc91614dd16ef81c" 
                 
         Enable= 
         "true"  
         /> 
                  
              
                 
         在中国大陆,印象笔记有两个服务器,一个是沙箱(sandbox),一个是生产服务器(china)。 
                 
         一般你注册应用,它会先让你使用sandbox,当你完成测试以后,可以到 
                 
         http: 
         //dev.yinxiang.com/support/上激活你的ConsumerKey,激活成功后,修改HostType 
                 
         为china就好了。至于如果您申请的是国际版的印象笔记(Evernote),则其生产服务器类型为 
                 
         “product”。 
                  
                 
         如果目标设备上已经安装了印象笔记客户端,ShareSDK允许应用调用本地API来完成分享,但 
                 
         是需要将应用信息中的“ShareByAppClient”设置为 
         true 
         ,此字段默认值为 
         false 
         。 
             
             
         <Evernote 
                 
         Id= 
         "19" 
                 
         SortId= 
         "19" 
                 
         HostType= 
         "sandbox" 
                 
         ConsumerKey= 
         "sharesdk-7807" 
                 
         ConsumerSecret= 
         "d05bf86993836004" 
                 
         ShareByAppClient= 
         "false" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <LinkedIn 
                 
         Id= 
         "20" 
                 
         SortId= 
         "20" 
                 
         ApiKey= 
         "ejo5ibkye3vo" 
                 
         SecretKey= 
         "cC7B2jpxITqPLZ5M" 
                 
         Enable= 
         "true"  
         /> 
              
              
         <GooglePlus 
                 
         Id= 
         "21" 
                 
         SortId= 
         "21" 
                 
         Enable= 
         "true"  
         /> 
               
              
         <FourSquare 
                 
         Id= 
         "22" 
                 
         SortId= 
         "22" 
                 
         ClientID= 
         "G0ZI20FM30SJAJTX2RIBGD05QV1NE2KVIM2SPXML2XUJNXEU" 
                 
         ClientSecret= 
         "3XHQNSMMHIFBYOLWEPONNV4DOTCDBQH0AEMVGCBG0MZ32XNU" 
                 
         Enable= 
         "true"  
         /> 
                  
             
         <Pinterest 
                 
         Id= 
         "23" 
                 
         SortId= 
         "23" 
                 
         ClientId= 
         "1432928" 
                 
         Enable= 
         "true"  
         /> 
               
              
         <Flickr 
                 
         Id= 
         "24" 
                 
         SortId= 
         "24" 
                 
         ApiKey= 
         "33d833ee6b6fca49943363282dd313dd" 
                 
         ApiSecret= 
         "3a2c5b42a8fbb8bb" 
                 
         Enable= 
         "true"  
         /> 
                  
             
         <Tumblr 
                 
         Id= 
         "25" 
                 
         SortId= 
         "25" 
                 
         OAuthConsumerKey= 
         "2QUXqO9fcgGdtGG1FcvML6ZunIQzAEL8xY6hIaxdJnDti2DYwM" 
                 
         SecretKey= 
         "3Rt0sPFj7u2g39mEVB3IBpOzKnM3JnTtxX2bao2JKk4VV1gtNo" 
                 
         Enable= 
         "true"  
         /> 
           
             
         <Dropbox 
                 
         Id= 
         "26" 
                 
         SortId= 
         "26" 
                 
         AppKey= 
         "7janx53ilz11gbs" 
                 
         AppSecret= 
         "c1hpx5fz6tzkm32" 
                 
         Enable= 
         "true"  
         /> 
                  
             
         <VKontakte  
                 
         Id= 
         "27" 
                 
         SortId= 
         "27" 
                 
         ApplicationId= 
         "3921561" 
                 
         Enable= 
         "true"  
         /> 
                  
             
         <Instagram  
                 
         Id= 
         "28" 
                 
         SortId= 
         "28" 
                 
         ClientId= 
         "ff68e3216b4f4f989121aa1c2962d058" 
                 
         ClientSecret= 
         "1b2e82f110264869b3505c3fe34e31a1" 
                 
         Enable= 
         "true"  
         /> 
              
              
                 
         Yixin易信和YixinMoments易信朋友圈的appid是一样的; 
              
                                
         注意:开发者不能用我们这两个平台的appid,否则分享不了 
              
                  
         易信测试的时候需要先签名打包出apk, 
                 
         sample测试易信,要先签名打包,keystore在sample项目中,密码 
         123456 
                  
                 
         BypassApproval是绕过审核的标记,设置为 
         true 
         后AppId将被忽略,故不经过 
                 
         审核的应用也可以执行分享,但是仅限于分享文字或图片,不能分享其他类型, 
                 
         默认值为 
         false 
         。 
              
             
         <Yixin  
                 
         Id= 
         "29" 
                 
         SortId= 
         "29" 
                 
         AppId= 
         "yx0d9a9f9088ea44d78680f3274da1765f" 
                 
         BypassApproval= 
         "true" 
                 
         Enable= 
         "true"  
         /> 
              
             
         <YixinMoments 
                 
         Id= 
         "30" 
                 
         SortId= 
         "30" 
                 
         AppId= 
         "yx0d9a9f9088ea44d78680f3274da1765f" 
                 
         BypassApproval= 
         "true" 
                 
         Enable= 
         "true"  
         /> 
             
         <Mingdao 
                 
         Id= 
         "31" 
                 
         SortId= 
         "31" 
                 
         AppKey= 
         "EEEE9578D1D431D3215D8C21BF5357E3" 
                 
         AppSecret= 
         "5EDE59F37B3EFA8F65EEFB9976A4E933" 
                 
         Enable= 
         "true"  
         />  --> 
              
        </DevInfor> 
         |  
     
Mainfest
|  
        
         1 
         
       
         2 
         
       
         3 
         
       
         4 
         
       
         5 
         
       
         6 
         
       
         7 
         
       
         8 
         
       
         9 
         
       
         10 
         
       
         11 
         
       
         12 
         
       
         13 
         
       
         14 
         
       
         15 
         
       
         16 
         
       
         17 
         
       
         18 
         
       
         19 
         
       
         20 
         
       
         21 
         
       
         22 
         
       
         23 
         
       
         24 
         
       
         25 
         
       
         26 
         
       
         27 
         
       
         28 
         
       
         29 
         
       
         30 
         
       
         31 
         
       
         32 
         
       
         33 
         
       
         34 
         
       
         35 
         
       
         36 
         
       
         37 
         
       
         38 
         
       
         39 
         
       
         40 
         
       
         41 
         
       
         42 
         
       
         43 
         
       
         44 
         
       
         45 
         
       
         46 
          |  
       
       <?xml version= 
         "1.0"  
         encoding= 
         "utf-8" 
         ?> 
        <manifest xmlns:android= 
         "http://schemas.android.com/apk/res/android" 
             
         package 
         = 
         "com.qiao.thirdpartylogindemo_master2" 
             
         android:versionCode= 
         "1" 
             
         android:versionName= 
         "1.0"  
         > 
             
         <uses-sdk 
                 
         android:minSdkVersion= 
         "14" 
                 
         android:targetSdkVersion= 
         "21"  
         /> 
              
         <supports-screens 
                 
         android:anyDensity= 
         "true" 
                 
         android:largeScreens= 
         "true" 
                 
         android:normalScreens= 
         "true" 
                 
         android:resizeable= 
         "true" 
                 
         android:smallScreens= 
         "true"  
         /> 
             
         <uses-permission android:name= 
         "android.permission.GET_TASKS"  
         /> 
             
         <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.CHANGE_WIFI_STATE"  
         /> 
             
         <uses-permission android:name= 
         "android.permission.WRITE_EXTERNAL_STORAGE"  
         /> 
             
         <uses-permission android:name= 
         "android.permission.READ_PHONE_STATE"  
         /> 
             
         <uses-permission android:name= 
         "android.permission.MANAGE_ACCOUNTS" 
         /> 
             
         <uses-permission android:name= 
         "android.permission.GET_ACCOUNTS" 
         /> 
             
         <application 
                 
         android:allowBackup= 
         "true" 
                 
         android:icon= 
         "@drawable/ic_launcher" 
                 
         android:label= 
         "@string/app_name" 
                 
         android:theme= 
         "@style/AppTheme"  
         > 
                 
         <activity 
                     
         android:name= 
         ".MainActivity" 
                     
         android:label= 
         "@string/app_name"  
         > 
                     
         <intent-filter> 
                         
         <action android:name= 
         "android.intent.action.MAIN"  
         /> 
                         
         <category android:name= 
         "android.intent.category.LAUNCHER"  
         /> 
                     
         </intent-filter> 
                 
         </activity> 
                  
         <activity 
                     
         android:name= 
         "cn.sharesdk.framework.ShareSDKUIShell" 
                     
         android:theme= 
         "@android:style/Theme.Translucent.NoTitleBar" 
                     
         android:configChanges= 
         "keyboardHidden|orientation|screenSize" 
                     
         android:windowSoftInputMode= 
         "stateHidden|adjustResize"  
         /> 
             
         </application> 
        </manifest> 
         |  
     
values:需要(直接ShareSdk拷贝)

jar包直接ShareSdk拷贝:

