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(); } }