微信第三方登录Android注意事项

Step 1 申请微信应用

进入:https://open.weixin.qq.com/ 交300软妹币,等通过。

填写几个重要信息

1.应用签名

2.包名

3.应用名字,重要事情说三遍,由于测试的心里,应用名没管它.其它都对,一直报ignore wechat app signature validation,吐血了,最后还好发现了,

不一样试试改成申请的应用名字.终于好了.



Step 2配制文件与lib

2.1.配制com.test是你APP包名

 <activity
            android:name="com.test.wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:label="@string/app_name"
            android:launchMode="singleTop"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:scheme="sdksample" />
            </intent-filter>
        </activity>


2.2导入libammsdk包



Step 3调用的代码

3.1发起请求的代码

if(api==null){
    api=WXAPIFactory.createWXAPI(WelcomeActivity.this, APP_ID, false);  
    api.registerApp(APP_ID);
}
if (!api.isWXAppInstalled()) {
    //提醒用户没有按照微信
	Toast.makeText(WelcomeActivity.this, "没有安装微信,请先安装微信!", Toast.LENGTH_SHORT).show();
    return;
}

SendAuth.Req req = new SendAuth.Req();
req.scope = "snsapi_userinfo";
req.state = "wechat_sdk_demo_test";
api.sendReq(req);


3.2接收微信APP返回的用户授权信息

public class WXEntryActivity extends Activity implements IWXAPIEventHandler{  
	  
    private IWXAPI api;  
    
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        // TODO Auto-generated method stub  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.flash_activity);  

        if(api==null){
        	//wx30a9402cd2a87cf3
        	   api=WXAPIFactory.createWXAPI(this, APP_ID, false);  
               api.registerApp(APP_ID);
        }

        api.handleIntent(getIntent(), this); 
        handleIntent(getIntent());
    }  
      
 // 微信发送请求到第三方应用时,会回调到该方法
 	@Override
 	public void onReq(BaseReq req) {
 		switch (req.getType()) {
 		case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
// 			goToGetMsg();		
 			break;
 		case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
// 			goToShowMsg((ShowMessageFromWX.Req) req);
 			break;
 		default:
 			break;
 		}
 	}

 	// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
 	@Override
 	public void onResp(BaseResp resp) {
// 		int result = 0;
 		String result="";
 		
 		switch (resp.errCode) {
 		case BaseResp.ErrCode.ERR_OK:
 			result = "errcode_success";
 			break;
 		case BaseResp.ErrCode.ERR_USER_CANCEL:
 			result = "errcode_cancel";
 			break;
 		case BaseResp.ErrCode.ERR_AUTH_DENIED:
 			result = "errcode_deny";
 			break;
 		default:
 			result = "errcode_unknown";
 			break;
 		}
 		
 		Toast.makeText(this, result, Toast.LENGTH_LONG).show();
 	}

    

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

    private void handleIntent(Intent intent) {
        SendAuth.Resp resp = new SendAuth.Resp(intent.getExtras());
        if (resp.errCode == BaseResp.ErrCode.ERR_OK) {
            //用户同意
        }
    }
}  



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值