第三方帳號登陸--QQ登陸,以及QQ微博帳號登陸

在QQ登錄測試的時候,剛申請正常登錄,可是因爲app未上線,或許是騰訊升級形成的個別時候QQ登錄沒法成功會提示下圖代碼,功能上沒啥問題,已經達到 測試效果了。附上騰訊錯誤代碼圖(你們測試QQ登錄的時候,包括微博登錄都須要自行申請 AppId 以及AppKey,固然用個人也能夠 )
  
總體的效果圖以下,你們
 
 
 
 
html

MainActivity:java

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

 

佈局:android

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支持api

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拷貝)app

jar包直接ShareSdk拷貝:ide

相關文章
相關標籤/搜索