歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 調用微信Api

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

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