um 总结

来源:互联网 发布:淘宝申诉不成功怎么办 编辑:程序博客网 时间:2024/04/27 15:45

1 , 我居然 因为 open_id  在 params.put key 时 少写了 _ 导致 以为 参数 传递的不对卡了 2天; 


下回 必须认真检查; 写完的代码; 


实现代码;

// 有盟集成-----------------------------------------------
private UMShareAPI mShareAPI;


public void wxLogin() {
ToastHelper.showToast(this, "wx");
mShareAPI = UMShareAPI.get(this);
SHARE_MEDIA platform = SHARE_MEDIA.WEIXIN;
// 那個平台 , 回調
mShareAPI.doOauthVerify(this, platform, umAuthListener);
mShareAPI.isInstall(this, SHARE_MEDIA.WEIXIN);
mShareAPI = UMShareAPI.get(this);
mShareAPI.getPlatformInfo(BaseActivity.this, platform, umAuthListener);
}


public void qqLogin() {


ToastHelper.showToast(this, "qq");


mShareAPI = UMShareAPI.get(this);
SHARE_MEDIA platform = SHARE_MEDIA.QQ;


// 那個平台 , 回調
mShareAPI.doOauthVerify(this, platform, umAuthListener);


mShareAPI.isInstall(this, SHARE_MEDIA.QQ);


mShareAPI = UMShareAPI.get(this);


mShareAPI.getPlatformInfo(BaseActivity.this, platform, umAuthListener);
}


/**
* 删除 授权 , 有需要的我就 加上这个删除的 API
*/
public void sinaLogin() {


mShareAPI = UMShareAPI.get(this);
SHARE_MEDIA platform = SHARE_MEDIA.SINA;
// 那個平台 , 回調
mShareAPI.doOauthVerify(this, platform, umAuthListener);
mShareAPI.isInstall(this, SHARE_MEDIA.SINA); // 难道因为这个错了,导致的吗;
mShareAPI = UMShareAPI.get(this);


mShareAPI.getPlatformInfo(BaseActivity.this, platform, umAuthListener);


// // 新浪好友 回调
// mShareAPI.getFriend(BaseActivity.this, SHARE_MEDIA.SINA,
// new UMFriendListener() {
//
// @Override
// public void onError(SHARE_MEDIA arg0, int arg1,
// Throwable arg2) {
// Logs.e("onError:" +arg2 );// 2
// }
//
// @Override
// public void onComplete(SHARE_MEDIA platform, int action,
// Map<String, Object> data) {
// Logs.e("UMFriendListener:" + data.size());// 2
// }
//
// @Override
// public void onCancel(SHARE_MEDIA arg0, int arg1) {
//
// Logs.e("onCancel:" +arg1 );// 2
// }
// });
}


private UMAuthListener umAuthListener = new UMAuthListener() {
@Override
public void onComplete(SHARE_MEDIA platform, int action,
Map<String, String> map) {


/* if (map != null) {
StringBuilder sb = new StringBuilder();
Set<String> keys = map.keySet();
for (String key : keys) {
sb.append(key + "=" + map.get(key).toString() + "\r\n");
}
Logs.e("sb:" + platform + "platform;=" + sb.toString());
}*/


switch (platform) {
case QQ:
NetQQ(map, platform);


break;
case SINA:
// uid=1381206794
// userName=lyz自学java
// access_token=2.00wy5TVBxexqaB565823abd1Cuw5mD


NetSINA(map, platform);


break;


default:
break;
}


Toast.makeText(getApplicationContext(), "Authorize succeed",
Toast.LENGTH_SHORT).show();
}


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


@Override
public void onCancel(SHARE_MEDIA platform, int action) {
Toast.makeText(getApplicationContext(), "Authorize cancel",
Toast.LENGTH_SHORT).show();
Logs.e("onError:" + action);// 2
}
};


/**
* 登陆和分享 共用一个 onActivityResult
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mShareAPI.onActivityResult(requestCode, resultCode, data);
}


/**
* @param map
* @param platform
*/
protected void NetSINA(Map<String, String> map, SHARE_MEDIA platform) {
if (params == null) {
params = new RequestParams();
}
params.put("open_id", map.get("uid"));
params.put("access_token", map.get("access_token"));
params.put("oauth_name", map.get("screen_name"));
params.put("oauth_iconurl", map.get("profile_image_url"));
params.put("type", platform);


Logs.e("uid" + map.get("uid") + ";access_token:"
+ map.get("access_token")); // 请求失败了, 参数不对
Logs.e("screen_name" + map.get("screen_name") + ";oauth_iconurl:"
+ map.get("profile_image_url")); // 请求失败了, 参数不对
Logs.e("type:" + platform);


}


/**
* @param map
* @param platform
*            参数 拿对了, 但是 网络请求不成功。。。。。
*/
protected void NetQQ(Map<String, String> map, SHARE_MEDIA platform) {
if (params == null) {
params = new RequestParams();
}


if (!TextUtils.isEmpty(map.get("access_token"))) {
mOpenid = map.get("openid");
params.put("open_id", mOpenid);
params.put("access_token", map.get("access_token"));
params.put("oauth_name", mScreen_name);
params.put("oauth_iconurl", mProfile_image_url);
params.put("type", platform);


Logs.e("openid" + map.get("openid") + ";access_token:"
+ map.get("access_token")); // 请求失败了, 参数不对
Logs.e("oauth_name" + mScreen_name + ";oauth_iconurl:"
+ mProfile_image_url); // 请求失败了, 参数不对
Logs.e("type:" + platform);


Logs.e(";access_token:" + map.get("access_token"));





}


// 分享------------------------------------------------, 数据到时让子类实现时把通过 形参传递过来


// 友盟微信分享 , 图片处理
protected UMImage image = new UMImage(ShiShiApplication.getApplication(),
R.drawable.ic_launcher);


public void wxShare(View v) {
new ShareAction(this).setPlatform(SHARE_MEDIA.WEIXIN)
.setCallback(umShareListener).withText("titilewx")
.withTargetUrl("http://www.baidu.com").withMedia(image).share();


}


public void qqShare(View v) {
new ShareAction(this).setPlatform(SHARE_MEDIA.QQ)
.setCallback(umShareListener).withText("titileqq")
.withTargetUrl("http://www.baidu.com").withMedia(image).share();


}


public void sinaShare(View v) {
new ShareAction(this).setPlatform(SHARE_MEDIA.SINA)
.setCallback(umShareListener).withText("titilesina")
.withTargetUrl("http://www.baidu.com").withMedia(image).share();
}


protected UMShareListener umShareListener = new UMShareListener() {
@Override
public void onResult(SHARE_MEDIA platform) {
Toast.makeText(ShiShiApplication.getApplication(), " 分享成功啦",
Toast.LENGTH_SHORT).show();
Logs.e("-分享onResult-----------------------------------------");
}


@Override
public void onError(SHARE_MEDIA platform, Throwable t) {
Toast.makeText(ShiShiApplication.getApplication(), " 分享失败啦" + t,
Toast.LENGTH_SHORT).show();
Logs.e("-分享onResult-----------------------------------------" + t);


}


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



0 0