微信登录指南
准备工作
如何安装 SDK 请参考「知晓云 Android SDK 接入指南」
确保 SDK 版本 >= 1.1.0
接入微信开发者平台,拿到 app id 和 secret id
在知晓云控制台打开微信登录:「开发」-「设置」-「应用」-「登录方法」-「微信移动端登录」
注册 WechatComponent
public class MyApplication extends Application {@Overridepublic void onCreate() {super.onCreate();WechatComponent.initWechatComponent("{appId}", this);...}}
配置 AndroidManifest.xml
<!-- SDK 提供的用以接收微信响应的实现 --><activityandroid:name="com.minapp.android.sdk.wechat.WXEntryActivity"android:launchMode="singleTop"android:theme="@style/HyDrogenTranslucent" /><!-- 接收微信响应 --><activity-aliasandroid:name=".wxapi.WXEntryActivity"android:exported="true"android:targetActivity="com.minapp.android.sdk.wechat.WXEntryActivity" />
微信登录流程
public class SignInActivity extends AppCompatActivity {// 得到微信登录的结果private WechatSignInCallback cb = new WechatSignInCallback() {@Overridepublic void onSuccess() {// 微信登录成功}@Overridepublic void onFailure(@Nullable Exception ex) {// 微信登录失败,可能的异常有:// IOException 网络异常// WechatNotInitException 没有安装微信// "fail to send auth req to wechat" 调用微信 sdk 时发生异常(此时要通过 logcat 查看 MicroMsg.SDK 的日志)// "sign in error XXX" 服务端登录异常}};@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_sign_in);// 点击微信登录按钮,拉起微信登录页面findViewById(R.id.wechatBtn).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {WechatComponent.signIn(cb);}});}}
