首先添加工具包,名字为libammsdk.jar(微信有相应的包下载)
然后在src.main.java.com.****新建一个wxapi的包并存放这两个activity(名字不能更改)

WXEntryActivity(登陆)

public class WXEntryActivity extends Activity implements IWXAPIEventHandler {private IWXAPI wxAPI;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);wxAPI = WXAPIFactory.createWXAPI(this, ApiConstant.WECHATE_APP_ID, true);wxAPI.registerApp(ApiConstant.WECHATE_APP_ID);wxAPI.handleIntent(getIntent(), this);}@Overridepublic void onReq(BaseReq baseReq) {}@Overridepublic void onResp(BaseResp baseResp) {if (baseResp.getType() == ConstantsAPI.COMMAND_SENDAUTH) {SendAuth.Resp r = (SendAuth.Resp) baseResp;if (baseResp.errCode == BaseResp.ErrCode.ERR_OK) {Log.e("TAG_WECHAT_CODE", r.code);//登陆成功的结果,可以跳转到某个页面finish();} else if (baseResp.errCode == BaseResp.ErrCode.ERR_AUTH_DENIED) {String result = "用户取消微信授权登录";Log.e("ERROR", result);finish();} else if (baseResp.errCode == BaseResp.ErrCode.ERR_USER_CANCEL) {String result = "用户拒绝微信授权登录";Log.e("ERROR", result);finish();} else {String result = "微信授权登录失败";Log.e("ERROR", result);finish();}} else if (baseResp.getType() == ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX) {if (baseResp.errCode == BaseResp.ErrCode.ERR_OK) {} else if (baseResp.errCode == BaseResp.ErrCode.ERR_USER_CANCEL) {} else {}}}
}

WXPayEntryActivity(支付)


public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {private IWXAPI wxAPI;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);wxAPI = WXAPIFactory.createWXAPI(this, ApiConstant.WECHATE_APP_ID);wxAPI.handleIntent(getIntent(), this);}@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);wxAPI.handleIntent(getIntent(), this);}@Overridepublic void onReq(BaseReq baseReq) {}@Overridepublic void onResp(BaseResp baseResp) {Log.e("WXPayEntryActivity", "code=" + baseResp.errCode);if (baseResp.errCode == 0) {//支付成功} else if (baseResp.errCode == BaseResp.ErrCode.ERR_USER_CANCEL) {//取消支付Log.e("WXPayEntryActivity", "取消支付");} else {//支付失败Log.e("WXPayEntryActivity", "支付失败");}finish();}
}

在Manifest.xml中添加

  <activityandroid:name=".wxapi.WXEntryActivity"android:exported="true"android:label="@string/app_name"android:launchMode="singleTask"android:taskAffinity="com.***.*****"android:theme="@android:style/Theme.Translucent.NoTitleBar" /><activityandroid:name=".wxapi.WXPayEntryActivity"android:exported="true"android:label="@string/app_name"android:launchMode="singleTask"android:taskAffinity="com.***.*****"android:theme="@android:style/Theme.Translucent.NoTitleBar" />

然后在你需要登陆的页面里添加

private IWXAPI iwxapi = null;
@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);iwxapi = WXAPIFactory.createWXAPI(context, 微信返回的id, true);// 将应用的appId注册到微信iwxapi.registerApp(微信返回的id);//动态监听微信启动广播进行注册到微信context.registerReceiver(new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {// 将该app注册到微信iwxapi.registerApp(微信返回的id);}}, new IntentFilter(ConstantsAPI.ACTION_REFRESH_WXAPP));}public void loginWeChat() {SendAuth.Req req = new SendAuth.Req();req.scope = "snsapi_userinfo";req.state = "wechat_sdk_demo_test";iwxapi.sendReq(req);}

然后直接调用loginWeChat()就可以了,返回的数据在WXEntryActivity中,找一下就能看到

微信支付这一块可以下载官方demo进行查看
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1

Android接入微信登陆相关推荐

  1. cocos creator接入微信登陆sdk android篇

    cocos creator接入微信登陆sdk 背景 项目引擎使用cocos creator,使用android studio集成开发工具,在开发之前先做好准备工作 在微信开放平台上创建好移动应用,拿到 ...

  2. cocos creator接入微信登陆sdk ios篇

    cocos creator接入微信登陆sdk ios篇 背景已经在Android篇里面交代过了,有兴趣的朋友可以再看看Android篇 步骤 去微信开放平台下载ios平台所需要的sdk 在" ...

  3. 2021年PC电脑网站接入微信登陆支付精讲--1小时自已就可动手接入功能,--所有流程一目了然

    2021年了,你还要疲于拼命吗,2001年初,遇到BUG就是躲,放下,去吃最好吃的,吃好喝好,睡一觉,再来解决, 现在是喜欢上BUG了,出现BUG,就发自内心的想搞清楚,是什么源因导致的,呵呵呵 PC ...

  4. 微信支付android白屏,android 解决微信登陆白屏样式问题

    咱们在作微信登陆或者支付的时候,会用到SDK自带的两个页面android WXEntryActivity.WXPayEntryActivityapi 可是总会由于这两个页面的样式问题,出现白屏啊抖动啊 ...

  5. Android 集成微信登陆不走回调onResp

    上代码 <activityandroid:exported="true"android:launchMode="singleTop"android:nam ...

  6. android接入微信API相关细节

    细节1 想要接入微信,如接入分享微信功能.跳转小程序功能等:首先需要到微信开放平台申请AppId,如何申请在开放平台上的流程很清楚,就不赘述了 但有个细节就是应用包名签名,这个应用包名签名记得是以ap ...

  7. Android 接入微信扫码库,实现堪比微信的扫码效果

    对于Android的扫码库,我们平时都会使用ZXing或者ZBar来实现. 但是实际情况是,对于一些环境恶劣的情况下,比如 眩光.昏暗.有污渍等情况下,很难被识别. 即使是在普通情况下,扫码的识别速度 ...

  8. Android 调用微信登陆、支付、分享,出现的白屏、黑屏、闪屏问题。

    当我在去调用微信的登录界面,或者其他支付界面, WXEntryActivity又一个界面,这样看起来很不协调 (WXEntryActivity类finish的时候会有闪屏的效果). 为了让用户感觉只是 ...

  9. 关于android接入微信分享(以及app签名 the apk for your currently selected variant(app-release)

    接入微信分享 在微信开放平台按需接入即可. 查看app签名 微信开放平台里资源下载,下载查看app签名工具:Gen_Signature_Android2.apk the apk for your cu ...

最新文章

  1. R语言使用ggplot2包的快速可视化函数qplot绘制基础直方图实战
  2. 学习一下rails hash 的方法
  3. Linux之自动化部署
  4. python3反转字符串的3种方法
  5. 你只知道JVM栈,知不知道栈帧、局部变量表、slot、操作数栈?
  6. 在Linux系统下防火墙开放所需要访问的端口号
  7. IntelliJ IDEA修改项目的包名_修改包名
  8. 飞秋局域网聊天是一种技术工作
  9. apache开源项目--Lens
  10. 放纵的感觉其实没有想象的那么好!
  11. bzoj1965 [AHOI2005]洗牌 结论
  12. STC51-A/D和D/A
  13. 解决编译.spec:rpm build with: fg: no job control报错
  14. mac android 找不到设备管理器,Android Studio找不到连接设备解决方案
  15. 4.7 合成复用原则
  16. CHtmlView当前浏览器打开新窗口
  17. Android手机平板根目录详解
  18. 使用IBM SPSS快速对数据进行分组
  19. Android手机GPS卫星定位与通过WLAN与移动网络定位的区别?
  20. 服务器宕机原因有哪些?服务器宕机解决方案

热门文章

  1. 解决Graphviz无法显示决策树中文问题
  2. java毕设项目开源了,springMVC+layui的医院医药管理系统
  3. Linux九阴真经之大伏魔拳残卷3(LVS)
  4. 08简单推导:手机尾号评分
  5. 复旦计算机夏令营英语口语,保研夏令营时间|复旦大学计算机学院2020保研夏令营...
  6. 移动端REM响应式模板及相应规范
  7. 怎么利用计算机制作分形图片,一个能徒手绘制分形图的人 天才之击
  8. 《上古天真论》第三讲文字版
  9. 微信在线客服功能开发问题记录
  10. 1号店架构师王富平:一号店用户画像系统实践