最近一項目需要添加微信的分享:朋友、朋友圈。
原本以為挺簡單的一事,無非就是去官網下個Demo,集成到自己項目中,可以分分鐘搞定,結果這幫寫文檔的坑爹玩意,愣是浪費了我N多時間,好了吐槽完畢,接下來分享下此次調用微信中遇到的問題和解決方法:
首先第一個問題:死活調不出微信客戶端
原因:是沒有按照所謂的官方說明來操作,
解決方法:1) 對要加微信的項目進行打包簽名,此時就有了自己的 keystore。
2) 將打包好的apk裝到機器上,再裝官方的獲取簽名工具:gen_signature.apk,並用此工具生成應用程序簽名。
3)用獲取的簽名去申請當前項目對應的微信App_ID ,此時才能保證在項目中調用成功。
再一個問題:分享圖片加文字
這部分就直接上代碼了:
1)分享單純的文字內容:
IWXAPI api = WXAPIFactory.createWXAPI(this, ShareConstant.APP_ID);
if (api.openWXApp()) {//判斷是否安裝微信客戶端
String text = ShareConstant.setContent(
response.getCategoryNamePinYin(), response.getAuctionId());
// 初始化一個WXTextObject對象
WXTextObject textObj = new WXTextObject();
textObj.text = text;
// 用WXTextObject對象初始化一個WXMediaMessage對象
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = textObj;
// 發送文本類型的消息時,title字段不起作用
// msg.title = "Will be ignored";
msg.description = text;
// 構造一個Req
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("text"); //
// transaction字段用於唯一標識一個請求
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneSession;// 分享
// 調用api接口發送數據到微信
api.sendReq(req);
} else {
Toast.makeText(Detail.this, "未安裝微信", Toast.LENGTH_SHORT).show();
}
Android微信SDK API 調用教程 http://www.linuxidc.com/Linux/2013-04/83333p2.htm
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11