第三方账号登录--QQ登录,以及QQ微博账号登录


在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"
     xmlns:tools= "http://schemas.android.com/tools"
     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"
                 RedirectUrl= "http://www.sharesdk.cn"
                 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"
         RedirectUrl= "http://www.sharesdk.cn"
         ShareByAppClient= "true"
         Enable= "true"  />
  -->
     <TencentWeibo
         Id= "2"
         SortId= "2"
         AppKey= "801530433"
         AppSecret= "3ed1cc342bd5c8871aebb69ef55c5606"
         RedirectUri= "http://www.baidu.com"
         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"
         CallbackUrl= "http://www.sharesdk.cn"
         Enable= "true"  />
 
     <Renren
         Id= "10"
         SortId= "10"
         AppId= "226427"
         ApiKey= "fc5b8aed373c4c27a05b712acba0f8c3"
         SecretKey= "f29df781abdd4f49beca5a2194676ca4"
         Enable= "true"  />
     
     <KaiXin
         Id= "11"
         SortId= "11"
         AppKey= "358443394194887cee81ff5890870c7c"
         AppSecret= "da32179d859c016169f66d90b6db2a23"
         RedirectUri= "http://www.sharesdk.cn"
         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"
         CallbackUrl= "http://www.sharesdk.cn"
         Enable= "true"  />
     
     <NetEaseMicroBlog
         Id= "15"
         SortId= "15"
         ConsumerKey= "T5EI7BXe13vfyDuy"
         ConsumerSecret= "gZxwyNOvjFYpxwwlnuizHRRtBRZ2lV1j"
         RedirectUri= "http://www.shareSDK.cn"
         Enable= "true"  />
     
     <Douban
         Id= "16"
         SortId= "16"
         ApiKey= "02e2cbe5ca06de5908a863b15e149b0b"
         Secret= "9f1e7b4f71304f2f"
         RedirectUri= "http://www.sharesdk.cn"
         Enable= "true"  />
     
     <YouDao
         Id= "17"
         SortId= "17"
         HostType= "product"
         ConsumerKey= "dcde25dca105bcc36884ed4534dab940"
         ConsumerSecret= "d98217b4020e7f1874263795f44838fe"
         RedirectUri= "http://www.sharesdk.cn"
         Enable= "true"  />
         
     <SohuSuishenkan
         Id= "18"
         SortId= "18"
         AppKey= "e16680a815134504b746c86e08a19db0"
         AppSecret= "b8eec53707c3976efc91614dd16ef81c"
         RedirectUri= "http://sharesdk.cn"
         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"
         RedirectUrl= "http://sharesdk.cn"
         Enable= "true"  />
     
      <GooglePlus
         Id= "21"
         SortId= "21"
         Enable= "true"  />
      
      <FourSquare
         Id= "22"
         SortId= "22"
         ClientID= "G0ZI20FM30SJAJTX2RIBGD05QV1NE2KVIM2SPXML2XUJNXEU"
         ClientSecret= "3XHQNSMMHIFBYOLWEPONNV4DOTCDBQH0AEMVGCBG0MZ32XNU"
         RedirectUrl= "http://www.sharesdk.cn"
         Enable= "true"  />
         
     <Pinterest
         Id= "23"
         SortId= "23"
         ClientId= "1432928"
         Enable= "true"  />
      
      <Flickr
         Id= "24"
         SortId= "24"
         ApiKey= "33d833ee6b6fca49943363282dd313dd"
         ApiSecret= "3a2c5b42a8fbb8bb"
         RedirectUri= "http://www.sharesdk.cn"
         Enable= "true"  />
         
     <Tumblr
         Id= "25"
         SortId= "25"
         OAuthConsumerKey= "2QUXqO9fcgGdtGG1FcvML6ZunIQzAEL8xY6hIaxdJnDti2DYwM"
         SecretKey= "3Rt0sPFj7u2g39mEVB3IBpOzKnM3JnTtxX2bao2JKk4VV1gtNo"
         CallbackUrl= "http://sharesdk.cn"
         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"
         RedirectUri= "http://sharesdk.cn"
         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"
         RedirectUri= "http://sharesdk.cn"
         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拷贝:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM