微信登录指南

准备工作

  1. 如何安装 SDK 请参考「知晓云 Android SDK 接入指南」

  2. 确保 SDK 版本 >= 1.1.0

  3. 接入微信开发者平台,拿到 app id 和 secret id

  4. 在知晓云控制台打开微信登录:「开发」-「设置」-「应用」-「登录方法」-「微信移动端登录」

注册 WechatComponent

  1. public class MyApplication extends Application {
  2. @Override
  3. public void onCreate() {
  4. super.onCreate();
  5. WechatComponent.initWechatComponent("{appId}", this);
  6. ...
  7. }
  8. }

配置 AndroidManifest.xml

  1. <!-- SDK 提供的用以接收微信响应的实现 -->
  2. <activity
  3. android:name="com.minapp.android.sdk.wechat.WXEntryActivity"
  4. android:launchMode="singleTop"
  5. android:theme="@style/HyDrogenTranslucent" />
  6. <!-- 接收微信响应 -->
  7. <activity-alias
  8. android:name=".wxapi.WXEntryActivity"
  9. android:exported="true"
  10. android:targetActivity="com.minapp.android.sdk.wechat.WXEntryActivity" />

微信登录流程

  1. public class SignInActivity extends AppCompatActivity {
  2. // 得到微信登录的结果
  3. private WechatSignInCallback cb = new WechatSignInCallback() {
  4. @Override
  5. public void onSuccess() {
  6. // 微信登录成功
  7. }
  8. @Override
  9. public void onFailure(@Nullable Exception ex) {
  10. // 微信登录失败,可能的异常有:
  11. // IOException 网络异常
  12. // WechatNotInitException 没有安装微信
  13. // "fail to send auth req to wechat" 调用微信 sdk 时发生异常(此时要通过 logcat 查看 MicroMsg.SDK 的日志)
  14. // "sign in error XXX" 服务端登录异常
  15. }
  16. };
  17. @Override
  18. protected void onCreate(@Nullable Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.activity_sign_in);
  21. // 点击微信登录按钮,拉起微信登录页面
  22. findViewById(R.id.wechatBtn).setOnClickListener(new View.OnClickListener() {
  23. @Override
  24. public void onClick(View v) {
  25. WechatComponent.signIn(cb);
  26. }
  27. });
  28. }
  29. }