需要导入keystore测试,或者打包出来测试
一、添加必要的权限支持:
<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
1.必须在你的项目中添加WXEntryActivity这个类。 创建一个包 “包名.wxapi”
import com.tencent.mm.sdk.modelbase.BaseReq; import com.tencent.mm.sdk.modelbase.BaseResp; import com.tencent.mm.sdk.openapi.IWXAPI; import com.tencent.mm.sdk.openapi.IWXAPIEventHandler; import com.tencent.mm.sdk.openapi.WXAPIFactory; public class WXEntryActivity extends Activity implements IWXAPIEventHandler { private IWXAPI api; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); api = WXAPIFactory.createWXAPI(this, Constant.WX_APPID, false); api.registerApp(Constant.WX_APPID); api.handleIntent(getIntent(), this); } @Override public void onReq(BaseReq req) { } @Override public void onResp(BaseResp resp) { String result = ""; switch (resp.errCode) { case BaseResp.ErrCode.ERR_OK: result = "发送成功"; break; case BaseResp.ErrCode.ERR_USER_CANCEL: result = "发送取消"; break; case BaseResp.ErrCode.ERR_AUTH_DENIED: result = "发送被拒绝"; break; default: result = "发送返回"; break; } Toast.makeText(this, result, Toast.LENGTH_LONG).show(); finish(); } }
2.在清单文件中配置这个Activity
<activity android:name="你的应用包名.wxapi.WXEntryActivity" android:screenOrientation="portrait" android:exported="true" android:theme="@android:style/Theme.NoTitleBar" > </activity>
三、在oncreate方法中注册
//微信 String app_id = Constant.WX_APPID; api = WXAPIFactory.createWXAPI(this, app_id, true); api.registerApp(app_id);
四、调用分享
/** * 微信朋友圈分享 * @param v */ public void toShareWXFirend(){ // 检测是否安装微信 if (!(api.isWXAppInstalled() && api.isWXAppSupportAPI())) { Toast.makeText(this,"未安装微信客户端", Toast.LENGTH_SHORT).show(); return; } // String text = "我是小明,这是我们的麦客项目测试发的消息 http://www.beehood.com"; // String text = ""; // 初始化一个WXTextObject对象 WXWebpageObject webObject = new WXWebpageObject(); webObject.webpageUrl = "www.beehood.com"; webObject.extInfo = "霸气的小明"; // WXTextObject textObj = new WXTextObject(); // textObj.text = text; // 用WXTextObject对象初始化一个WXMediaMessage对象 WXMediaMessage msg = new WXMediaMessage(); // msg.mediaObject = textObj; msg.mediaObject = webObject; // 发送文本类型的消息时,title字段不起作用 // msg.title = "Will be ignored"; msg.description = "我是霸气的小明"; // 构造一个Req SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求 req.message = msg; req.scene = SendMessageToWX.Req.WXSceneTimeline; // 调用api接口发送数据到微信 api.sendReq(req); }