public class WXEntryActivity extends WechatHandlerActivity {
/**
* 处理微信发出的向第三方应用请求app message
* <p>
* 在微信客户端中的聊天页面有“添加工具”,可以将本应用的图标添加到其中
* 此后点击图标,下面的代码会被执行。Demo仅仅只是打开自己而已,但你可
* 做点其他的事情,包括根本不打开任何页面
*/
public void onGetMessageFromWXReq(WXMediaMessage msg) {
if (msg != null) {
Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());
startActivity(iLaunchMyself);
}
}/**
* 处理微信向第三方应用发起的消息
* <p>
* 此处用来接收从微信发送过来的消息,比方说本demo在wechatpage里面分享
* 应用时可以不分享应用文件,而分享一段应用的自定义信息。接受方的微信
* 客户端会通过这个方法,将这个信息发送回接收方手机上的本demo中,当作
* 回调。
* <p>
* 本Demo只是将信息展示出来,但你可做点其他的事情,而不仅仅只是Toast
*/
public void onShowMessageFromWXReq(WXMediaMessage msg) {
if (msg != null && diaObject != null
&& (diaObject instanceof WXAppExtendObject)) {
WXAppExtendObject obj = (WXAppExtendObject) diaObject;
Toast.makeText(this, Info, Toast.LENGTH_SHORT).show();
}
}
}
case R.id.ll_weichat:
llWeiChat.setClickable(false);
weiChat = Platform(Wechat.NAME);
/*weiChat.setPlatformActionListener(myLoGinListener);
//authorize与showUser单独调用一个即可
//weiChat.authorize();//单独授权,OnComplete返回的hashmap是空的
weiChat.showUser(null);//授权并获取用户信息
//移除授权
//veAccount(true);*/
if (!weiChat.isClientValid()){
ToastUtil.showMessage("您尚未安装微信客户端");
return;
}
authorize(weiChat);
private voidauthorize(Platform plat){
if(plat ==null) {
ToastUtil.showMessage("授权平台为空");
return;
}
//判断指定平台是否已经完成授权
/*if(plat.isAuthValid() && ) {
String userId = Db().getUserId();
if (userId != null) {
return;
}
}*/
plat.setPlatformActionListener(myLoGinListener);
// true不使用SSO授权,false使用SSO授权
plat.SSOSetting(false);
//获取用户资料
plat.showUser(null);
}
private classMyLoGinListener implements PlatformActionListener {
//回调信息,可以在这里获取基本的授权返回的信息,但是注意如果做提示和UI操作要传到主线程handler里去执行
@Override
public void onComplete(Platform platform,inti, HashMap<String, Object> hashMap) {
if(i == Platform.ACTION_USER_INFOR) {
Message msg =newMessage();
msg.what=MSG_AUTH_COMPLETE;
msg.obj=newObject[] {platform, hashMap};
handler.sendMessage(msg);
}
}@Override
public void onError(Platform platform,inti, Throwable throwable) {
if(i == Platform.ACTION_USER_INFOR) {
handler.sendEmptyMessage(MSG_AUTH_ERROR);
}
}@Override
public void onCancel(Platform platform,inti) {
if(i == Platform.ACTION_USER_INFOR) {
handler.sendEmptyMessage(MSG_AUTH_CANCEL);
}
}
}回调结果处理
private Handler handler=new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
switch(msg.what) {
caseMSG_AUTH_CANCEL: {
//取消授权
ToastUtil.showMessage("取消授权");
}
break;
caseMSG_AUTH_ERROR: {
//授权失败
ToastUtil.showMessage("授权失败");
}
break;
caseMSG_AUTH_COMPLETE: {
//ToastUtil.showMessage("授权成功");
dialog.dismiss();
//授权成功
Object[] objs = (Object[]) msg.obj;
Platform platform = (Platform) objs[0];
HashMap<String, Object> res = (HashMap<String, Object>) objs[1];
platDB= Db();//获取数平台数据DB
Name().equals(Wechat.NAME)) {//通过DB获取各种数据
tokenToken();
userIdUserId();
nameUserName();
genderUserGender();
headImageUrlUserIcon();
if("m".equals(gender)) {
gender="1";
}else{
gender="2";
}}else Name().equals(QQ.NAME)) {
// QQ登录
tokenToken();
userIdUserId();
name= ("nickname").toString();//名字
gender= ("gender").toString();//年龄
headImageUrl= ("figureurl_qq_2").toString();//头像figureurl_qq_2中等图,figureurl_qq_1缩略图
String city = ("city").toString();//城市
String province = ("province").toString();//省份
}
}
break;
}
return false;
}
});
本文发布于:2024-02-05 09:08:39,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170728506365188.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |