您的位置:首页 > 其它

第三方登录-------activity

2016-07-14 08:19 429 查看
package com.example.share_;

import java.util.Map;

import android.app.Activity;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

import com.umeng.socialize.ShareAction;
import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.UMShareListener;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.media.UMImage;

public class MainActivity extends Activity {
final SHARE_MEDIA[] displaylist = new SHARE_MEDIA[] { SHARE_MEDIA.WEIXIN,
SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.SINA, SHARE_MEDIA.QQ,
SHARE_MEDIA.QZONE, SHARE_MEDIA.DOUBAN };
private UMShareAPI mShareAPI;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

/**
* 分享
*/
public void share(View v) {

UMImage image = new UMImage(MainActivity.this,
BitmapFactory.decodeResource(getResources(), R.drawable.boy_3));

new ShareAction(this).setDisplayList(displaylist).withText("呵呵")
.withTitle("title").withTargetUrl("http://www.baidu.com")
.withMedia(image).setListenerList(new UMShareListener() {
@Override
public void onResult(SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, platform + " 分享成功啦",
Toast.LENGTH_SHORT).show();
}

@Override
public void onError(SHARE_MEDIA platform, Throwable t) {
Toast.makeText(MainActivity.this, platform + " 分享失败啦",
Toast.LENGTH_SHORT).show();
}

@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, platform + " 分享取消了",
Toast.LENGTH_SHORT).show();
}
}).open();
}

/**
* 登录
*
* @param v
*/
public void login(View v) {

// 获取UMShareAPI
mShareAPI = UMShareAPI.get(this);
// 使用哪个平台账号登录
SHARE_MEDIA platform = SHARE_MEDIA.QQ;

mShareAPI.doOauthVerify(this, platform, new UMAuthListener() {
@Override
public void onComplete(SHARE_MEDIA platform, int action,
Map<String, String> data) {
Toast.makeText(getApplicationContext(), "Authorize succeed",
Toast.LENGTH_SHORT).show();
mShareAPI.getPlatformInfo(MainActivity.this, platform,
new UMAuthListener() {

@Override
public void onError(SHARE_MEDIA arg0, int arg1,
Throwable arg2) {
// TODO Auto-generated method stub

}

@Override
public void onComplete(SHARE_MEDIA arg0, int arg1,
Map<String, String> arg2) {
Set<String> keySet = arg2.keySet();
for (String string : keySet) {
if ("screen_name".equals(string)) {
String value = arg2.get(string);
tv_success.setText(value);
}
if ("profile_image_url".equals(string)) {
String value = arg2.get(string);
instance.displayImage(value, iv_success);
}

}
}

@Override
public void onCancel(SHARE_MEDIA arg0, int arg1) {
// TODO Auto-generated method stub

}
});
}

@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
Toast.makeText(getApplicationContext(), "Authorize fail",
Toast.LENGTH_SHORT).show();
}

@Override
public void onCancel(SHARE_MEDIA platform, int action) {
Toast.makeText(getApplicationContext(), "Authorize cancel",
Toast.LENGTH_SHORT).show();
}
});

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
mShareAPI.onActivityResult(requestCode, resultCode, data);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: