Android第三方登入詳解2

來源:互聯網
上載者:User

標籤:

接著Android第三方登入詳解1講

1.找到友盟  文檔中心

2.找到

3.將

UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.login");
 
   

這句話放到對應activity 弄成全域即可

4QQ 登入

//參數1為當前Activity, 參數2為開發人員在QQ互聯申請的APP ID,參數3為開發人員在QQ互聯申請的APP kEY.    UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(this, "100424468",                    "c7394704798a158208a74ab60104f0ba");    qqSsoHandler.addToSocialSDK();
 
   

5將上述代碼放到activity裡 oncreate(Bundle savedInstanceState){}裡  導包

6找到AndroidManifest.xml 

7將下面代碼沾到裡面  添加 個許可權   <uses-permission android:name="android.permission.GET_TASKS"/>

<!-- ############ QQ空間和QQ SSO授權的Activity註冊 ############ -->
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tencent你的QQ互聯APPID" />
</intent-filter>
</activity>
<activity android:name="com.tencent.connect.common.AssistActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:screenOrientation="portrait">
</activity>

 
   

8.在對應按鈕監聽裡打

/**
* QQ登入
* */
private void QQDengLu() {
//監聽
qq.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub


mController.doOauthVerify(mContext, SHARE_MEDIA.QQ, new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
Toast.makeText(mContext, "授權開始", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
Toast.makeText(mContext, "授權錯誤", Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
Toast.makeText(mContext, "授權完成", Toast.LENGTH_SHORT).show();
//擷取相關授權資訊
mController.getPlatformInfo(HomePage.this, SHARE_MEDIA.QQ, new UMDataListener() {
@Override
public void onStart() {
Toast.makeText(HomePage.this, "擷取平台資料開始...", Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(int status, Map<String, Object> info) {
if(status == 200 && info != null){
StringBuilder sb = new StringBuilder();
Set<String> keys = info.keySet();

/* for(String key : keys){
sb.append(key+"="+info.get(key).toString()+"\r\n");*/

// }

//改成QQ頭像
String u = (String) info.get("profile_image_url");
//給imageview賦值
ImageLoader.getInstance().displayImage(u, tiouxiang);
//qq使用者名稱screen_name
String name = (String) info.get("screen_name");
//textview賦值
text_name.setText(" "+name);

// Log.d("TestData",sb.toString());

}else{
Log.d("TestData","發生錯誤:"+status);
}
}
});
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(mContext, "授權取消", Toast.LENGTH_SHORT).show();
}
} );
}
});
}

 
   

9.完成   

10.微博登入接著上面打個微博監聽裡面打

mController.doOauthVerify(activity, SHARE_MEDIA.SINA,new UMAuthListener() {
@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
}
@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
if (value != null && !TextUtils.isEmpty(value.getString("uid"))) {
Toast.makeText(activity, "授權成功.",Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(activity, "授權失敗",Toast.LENGTH_SHORT).show();
}
mController.getPlatformInfo(activity, SHARE_MEDIA.SINA, new UMDataListener() {
@Override
public void onStart() {
Toast.makeText(activity, "擷取平台資料開始...", Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(int status, Map<String, Object> info) {
if(status == 200 && info != null){
StringBuilder sb = new StringBuilder();
Set<String> keys = info.keySet();
// for(String key : keys){
// sb.append(key+"="+info.get(key).toString()+"\r\n");
// }
//profile_image_url
//改成微博頭像
String u = (String) info.get("profile_image_url");
ImageLoader.getInstance().displayImage(u, tiouxiang);
//微博使用者名稱screen_name
String name = (String) info.get("screen_name");
text_name.setText(" "+name);
System.out.println(sb.toString()+"vvvvvvvvvvvvv");
Log.d("TestData",sb.toString());
}else{
Log.d("TestData","發生錯誤:"+status);
}
}
});
}
@Override
public void onCancel(SHARE_MEDIA platform) {}
@Override
public void onStart(SHARE_MEDIA platform) {}
});

 
   

Android第三方登入詳解2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.