分享
跳转到分享页面
public class WXEntryActivity extends BaseActivity implements IWXAPIEventHandler, MyInterFace.MyView {
private Button button2;
private Button button3;
private IWXAPI iwxapi;
//修改成自己的APPID
private static String APP_ID = "wx4c96b6b8da494224";
private WXShare wxShare;
@Override
protected int getLayout() {
return R.layout.activity_wxentry;
}
@Override
protected void initViews() {
button2 = findViewById(R.id.button2);
button3 = findViewById(R.id.button3);
}
@Override
protected void initData() {
// 隐藏状态栏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//接收到分享以及登录的intent传递handleIntent方法,处理结果
iwxapi = WXAPIFactory.createWXAPI(this, APP_ID, false);
iwxapi.handleIntent(getIntent(), this);
wxShare = new WXShare(this);
WXShare share = new WXShare(this);
iwxapi = share.getApi();
//wxShare.share("这是要分享的文字");
wxShare.shareUrl(0, this, "https://open.weixin.qq.com", "微信分享", "I am so crazy");
setListener();
}
private void setListener() {
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
wxShare.shareUrl(0, WXEntryActivity.this, "https://open.weixin.qq.com", "微信分享", "I am so crazy");
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
wxShare.setListener(new WXShare.OnResponseListener() {
@Override
public void onSuccess() {
Toast.makeText(WXEntryActivity.this, "分享成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onCancel() {
Toast.makeText(WXEntryActivity.this, "分享失败", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFail(String message) {
Toast.makeText(WXEntryActivity.this, message, Toast.LENGTH_SHORT).show();
}
});
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Log.e("onNewIntent", "onNewIntent");
setIntent(intent);
if (!iwxapi.handleIntent(intent, this)) {
finish();
}
}
@Override
public void onResp(BaseResp baseResp) {
Intent intent = new Intent(WXShare.ACTION_SHARE_RESPONSE);
intent.putExtra(WXShare.EXTRA_RESULT, new WXShare.Response(baseResp));
sendBroadcast(intent);
finish();
if (baseResp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
switch (baseResp.errCode) {
case BaseResp.ErrCode.ERR_OK:
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(WXEntryActivity.this, "成功", Toast.LENGTH_SHORT).show();
Log.e("WXPay", "支付成功");
WXEntryActivity.this.finish();
}
});
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
Toast.makeText(WXEntryActivity.this, "取消支付", Toast.LENGTH_SHORT).show();
Log.e("WXPay", "用户取消支付");
WXEntryActivity.this.finish();
break;
default:
finish();
break;
}
}
//登录回调
switch (baseResp.errCode) {
case BaseResp.ErrCode.ERR_OK:
//授权登录返回的code码
String code = ((SendAuth.Resp) baseResp).code;
Map<String, String> map = new HashMap<>();
map.put("code", code);
//请求接口文档的接口就好了
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED://用户拒绝授权
finish();
break;
case BaseResp.ErrCode.ERR_USER_CANCEL://用户取消
finish();
break;
case BaseResp.ErrCode.ERR_SENT_FAILED:
//发送失败
break;
case BaseResp.ErrCode.ERR_UNSUPPORT:
//不支持错误
break;
case BaseResp.ErrCode.ERR_COMM:
//一般错误
break;
default:
finish();
break;
}
}
@Override
public void onRequestSuccess(Object data) {
//判断用的那个接口 返回的是那个Bean
judgeWeChatBean(data);
}
private void judgeWeChatBean(Object data) {
if(data instanceof WeChatLoginBean){
if(!data.toString().isEmpty()){
if(((WeChatLoginBean) data).getStatus().equals("0000")){
Toast.makeText(this, ""+((WeChatLoginBean) data).getMessage(), Toast.LENGTH_SHORT).show();
SpUtil.put("UserId",((WeChatLoginBean) data).getResult().getUserId());
SpUtil.put("SessionId",((WeChatLoginBean) data).getResult().getSessionId());
SpUtil.put("WeChatLoginSuccess",true);
//startActivity(new Intent(WXEntryActivity.this,SwitchActivity.class));
Log.e("zzz", "startActivity" );
finish();
}
}
}
}
@Override
public void onRequestError(String error) {
}
@Override
public void onReq(BaseReq baseReq) {
}
}