Android——微信登录、分享

写在前面的话
应用要接入微信登录,分享,需要在微信的开发者平台上进行提交应用,并且审核通过,应用已经获取到appId。
相关jar包下载地址:http://download.csdn.net/detail/sapce_fish/9571142
也可到官网下载:https://open.weixin.qq.com
libammsdk.jar 引进自己的项目中

第一步:在Manifest中进行如下配置:

<!-- 微信登录相关权限  开始 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 微信登录相关权限  结束 -->

    <!-- 微信登录相关配置 开始 -->
        <activity
            android:name=".wxapi.WXEntryActivity"
            android:configChanges="orientation|keyboardHidden"
            android:exported="true"
            android:launchMode="singleTop"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"></action>

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!-- 微信登录相关配置 结束 -->


第二步:写微信回调,这个需要特别注意,因为微信对这个回调类有特殊的要求

注意点:


1.位置:回调Activity的位置在包名的wxapi下。例如:包名为aaa.bbb.ccc 那么回调Activity的位置则应在aaa.bbb.ccc.wxapi下


2.Activity名:回调Activity名字必须为WXEntryActivity。此Activity继承自Activity,这也跟上面在Manifest文件中配置的那个Activity对应上了。


3.Activity实现IWXAPIEventHandler接口。

微信回调Activity(这个回调Activity比较容易写错,我就全部贴出来,如有需要可以参考)

public class WXEntryActivity extends Activity implements IWXAPIEventHandler
{
   
    private IWXAPI api;
    /** 标记是否有code,默认为有,当调用登录微信授权方法后此值会被设置成false*/
    public static boolean mHaveCode = true;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        api = WXAPIFactory.createWXAPI(this, AppConstants.APP_ID_WX, false);
        api.handleIntent(getIntent(), this);
    }


    /**
     * 微信发送的请求将回调到onReq方法
     */
    @Override
    public void onReq(BaseReq req) {
        Log.d("space", req.toString());
        finish();
    }

    /**
     * 发送到微信请求的响应结果将回调到onResp方法
     */
    @Override
    public void onResp(BaseResp resp) {
        Log.i("space",resp.toString());
        String result = "";
        if (resp != null && !mHaveCode && ((SendAuth.Resp) resp).code != null) {
//          mResp = resp;
            mHaveCode = true;
            //设置好微信code
            getWXCode(resp);
        }
        Log.i("space", "WXEntryActivity resp.errCode="+resp.errCode);
        switch(resp.errCode) {
            case BaseResp.ErrCode.ERR_OK:
                result ="成功";
                JsCallbackExecutor.onSocialWXOptionResult(resp.errCode, "code is weixin sdk back ,ref status" + result);

                finish();
                break;
            case BaseResp.ErrCode.ERR_USER_CANCEL:
                result = "取消";
                JsCallbackExecutor.onSocialWXOptionResult(resp.errCode, "code is weixin sdk back ,ref status" + result);
                Log.i("space", result);
                finish();
                
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Android Studio中实现微信登录功能,你可以使用微信开放平台提供的SDK来完成。下面是实现微信登录的一般步骤: 1. 在微信开放平台注册应用并获取AppID。你需要在微信开放平台注册一个开发者账号,然后创建一个应用并获取到对应的AppID。 2. 导入微信SDK。在你的Android项目中,添加微信SDK的依赖。 3. 配置AndroidManifest.xml。在你的AndroidManifest.xml文件中添加以下代码,将你的AppID替换到对应位置: ```xml <activity android:name=".wxapi.WXEntryActivity" android:exported="true" android:launchMode="singleTop"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <data android:scheme="wxYOUR_APPID"/> </intent-filter> </activity> ``` 4. 创建WXEntryActivity。在你的项目中创建一个wxapi包,并在该包下创建WXEntryActivity类,继承自`com.tencent.mm.opensdk.openapi.WXCallbackActivity`。在该类中处理微信登录的回调逻辑。 5. 实现微信登录逻辑。在你的应用中,通过调用微信SDK提供的接口来实现微信登录的逻辑。例如,你可以在点击登录按钮时调用以下代码: ```java SendAuth.Req req = new SendAuth.Req(); req.scope = "snsapi_userinfo"; // 可根据需要修改授权作用域 req.state = "your_state"; // 可根据需要修改请求标识 IWXAPI api = WXAPIFactory.createWXAPI(this, "your_app_id", true); api.sendReq(req); ``` 6. 处理微信登录回调。在WXEntryActivity中重写`onResp`方法,获取和处理微信登录的回调结果。 至此,你已经完成了在Android Studio中实现微信登录功能的基本步骤。当用户点击登录按钮后,将会跳转到微信客户端进行授权操作,然后返回你的应用并获取到用户的授权信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值