微信登录

1.build.gradle:

applicationId "com.jo.jingou"(这一块设置成与开发平台里一致的包名)
compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
2.values-strings:
<string name="errcode_success">发送成功</string>
<string name="errcode_cancel">发送取消</string>
<string name="errcode_deny">发送被拒绝</string>
<string name="errcode_unsupported">不支持错误</string>
<string name="errcode_unknown">发送返回</string>
3.清单文件:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<!-- for mta statistics -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<activity
    android:name="com.jo.jingou.wxapi.WXEntryActivity"
    android:label="@string/app_name"
    android:exported="true"
    android:launchMode="singleTop">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

    <intent-filter>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:scheme="sdksample"/>
    </intent-filter>
</activity>
<receiver
    android:name=".AppRegister"
    android:permission="com.tencent.mm.plugin.permission.SEND" >
    <intent-filter>
        <action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_REFRESH_WXAPP" />
    </intent-filter>
</receiver>
4.AppRegister:
public class AppRegister extends BroadcastReceiver {

   @Override
   public void onReceive(Context context, Intent intent) {
      final IWXAPI api = WXAPIFactory.createWXAPI(context, null);
      api.registerApp("wxbd3e6bba8efbae73");
   }
}
5.MainActivity:
public class MainActivity extends AppCompatActivity {

    private TextView denglu;
    // IWXAPI 是第三方app和微信通信的openapi接口
    private IWXAPI api;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 通过WXAPIFactory工厂,获取IWXAPI的实例
        api = WXAPIFactory.createWXAPI(this,"wxbd3e6bba8efbae73", false);
        denglu = (TextView) findViewById(R.id.denglu);
        denglu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // send oauth request
                final SendAuth.Req req = new SendAuth.Req();
                req.scope = "snsapi_userinfo";
                req.state = "wechat_sdk_demo_test";
                api.sendReq(req);
            }
        });

    }

}
6.jo.jingou.wxapi(包名)
     WXEntryActivity:(类名):
public class WXEntryActivity extends AppCompatActivity implements IWXAPIEventHandler {
    private IWXAPI api;
    private TextView textView;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_main);
        textView = (TextView) findViewById(R.id.textView);
        api = WXAPIFactory.createWXAPI(this, "wxbd3e6bba8efbae73", false);
        //注意:
        //第三方开发者如果使用透明界面来实现WXEntryActivity,需要判断handleIntent的返回值,如果返回值为false,则说明入参不合法未被SDK处理,应finish当前透明界面,避免外部通过传递非法参数的Intent导致停留在透明界面,引起用户的疑惑
        try {
            api.handleIntent(getIntent(), this);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);

        setIntent(intent);
        api.handleIntent(intent, this);
    }
    @Override
    public void onReq(BaseReq baseReq) {

    }

    @Override
    public void onResp(BaseResp  resp) {
        int result;

        switch (resp.errCode) {
            case BaseResp.ErrCode.ERR_OK:
                SendAuth.Resp su= (SendAuth.Resp) resp;
                textView.setText(su.code);
                result = R.string.errcode_success;
                break;
            case BaseResp.ErrCode.ERR_USER_CANCEL:
                result = R.string.errcode_cancel;
                break;
            case BaseResp.ErrCode.ERR_AUTH_DENIED:
                result = R.string.errcode_deny;
                break;
            case BaseResp.ErrCode.ERR_UNSUPPORT:
                result = R.string.errcode_unsupported;
                break;
            default:
                result = R.string.errcode_unknown;
                break;
        }

        Toast.makeText(this, result, Toast.LENGTH_LONG).show();
    }



}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
支持pc版、触屏版,自动、被动、无感知登录!!电脑版、触屏版同步登录 支持三方平台的多网页授权域名,一个公众号为多域名授权,一个公众号给多个网站使用。 可任意选两种流程:流程1:自动注册登录;流程2:注册时可以修改用户名、选择是否绑定。 微信秒登!支持电脑、手机触屏版微信登录网站。 无需绑定URL和Token,可以和任何DZ插件、模版兼容使用! 如站长没有认证服务号,请购买后与我们索取配置文档。 QQ秒登!免去完善信息的步骤。QQ登录网站,无需绑定已有账号!自动注册并登录。(此功能需要先开启QQ互联才可以) 可与其他pc模版、手机模版兼容一起使用。可替换手机版登录页面。 支持pc端自动/手动绑定,手机端自动/手动绑定。 无需申请QQ平台接入,零门槛。 QQ登录后可以自动获得:用户名、头像、生日、性别。微信登录可以得到微信名,头像等。 手机版登录页面:支持背景图(可随机),背景色,圆角,按钮颜色、文字,注册链接颜色、文字,透明度等。自动判断所处环境,展示不同的登录按钮。 本插件无需开通微社区。 预览地址:【西瓜】微信登录预览 小云APP打通版说明: 如未使用安米app/小云app请安装普通版本。 支持一个微信号登录电脑板、触屏版、小云app版,仅生成一个帐号,微信登录后是同一个帐号!完全互通。 在小云app使用微信登录的用户,用同样的微信号登录pc,触屏版,可以直接登录,不会生成新帐号。 在pc、触屏版使用微信登录的用户,用同样的微信号登录小云app,可以直接登录,不会生成新帐号。 精品应用推荐 【西瓜】积分充值 微信支付、支付宝支付 【西瓜】微信登录 微信登录、QQ登录 【西瓜】收费看贴 收费查看帖子,支持微信支付和支付宝,为论坛变现! 【西瓜】打赏商户版 站长可以拿提成的微信支付打赏 【西瓜】微信打赏 无需开通支付也可以现金打赏 【西瓜】微信版式 让手机版变成公众号的样子 【西瓜】积分商城 竞猜、竞拍、兑换、抽奖、任意购 【西瓜】微信投票 支持服务号、订阅号 【西瓜】发帖选板块 多样式选板块发帖 【西瓜】引导关注 引导关注、引导登录、引导下载APP 【西瓜】微社区认证 申请、展示认证 【西瓜】微社区活动 自动登录发布活动报名微活动 【西瓜】微社区 114 商家114加V创收利器 【西瓜】微社区门户 卡片式制作无限页面微社区门户 【西瓜】微社区文章 漂亮的文章页面,强大的分享、评论、页面展现 【西瓜】微社区美化 微社区必备美化 【西瓜】微首页聚合 微社区首页显示所有版块帖子 【西瓜】微社区导航 微社区33+6风格导航 【西瓜】微社区搜索 微社区搜索 【西瓜】微社区气泡 微社区发帖气泡 【西瓜】微社区会员 微社区修改用户名,资料 【西瓜】微社区广告 微社区10广告位利器 【西瓜】微社区签到 微社区动感签到 【西瓜】微社区 N格 微社区15栏目N格 【西瓜】微社区表态 微社区6风格表态 【西瓜】微社区版块 微社区清新版块|公告|热版 【西瓜】微社区分享 微社区社会化分享 【西瓜】微社区翻页 微社区6风格翻页上下篇内容美化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值