歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android 調用微信Api

Android 調用微信Api

日期:2017/3/1 9:49:58   编辑:Linux編程

最近一項目需要添加微信的分享:朋友、朋友圈。

原本以為挺簡單的一事,無非就是去官網下個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

Copyright © Linux教程網 All Rights Reserved