android 分享到微信朋友圈或微信好友
二、用keystore給app簽名,注意最後如下圖所示
圖中的md5就是 申請apkid時所需的 簽名,這裡需要注意MD5需要將其中的“:”去掉並將其中的大寫字母改為小寫
三、申請微信apkid。具體可以參考微信.開放平臺的詳細介紹https://open.weixin.qq.com/
四、申請apkid估計的一天半左右的時間,申請完apkid之後,到微信開放平臺下載sdk包,在自己的工程中建立libs資料夾並將下載好的微信sdk包拷貝到libs中至此微信分享已經完成第一步操作
五、在你的包名相應目錄下新建一個wxapi目錄,並在該wxapi目錄下新增一個WXEntryActivity類,該類繼承自Activity
包名就是圖中package
新增完WXEntryActivity類之後大概就是下圖這個樣子
WXEntryActivity中的程式碼請參考 微信開放平臺所提供的demo,微信分享已經完成一大半
最後就是分享了,你要在你的app中點選某個按鈕或者圖表分享內容:首先在你的activity的入口註冊微信程式碼如下
private Bundle bundle;private IWXAPI wxApi;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zc_info);
// 微信分享例項化
wxApi = WXAPIFactory.createWXAPI(this, Contant.WX_APP_ID);
wxApi.registerApp(Contant.WX_APP_ID);
bundle = getIntent().getExtras();
}
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
bundle = intent.getExtras();
}
接下來就是寫微信分享了程式碼如下
/**
* @param text
* 要分享的文字
*/
private void shareText2Circle(String content, String title, int tiger) {
System.out.println("shareText2Circle========== :" + content);
// System.out.println("getSign============= :"+getSign());
WXTextObject textObj = new WXTextObject();
textObj.text = content;
// 用WXTextObject物件初始化一個WXMediaMessage物件
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = textObj;
// 傳送文字型別的訊息時,title欄位不起作用
msg.title = title;
msg.description = content;
// 構造一個Req
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("text"); // transaction欄位用於唯一標識一個請求
req.message = msg;
// 這裡替換一張自己工程裡的圖片資源
Bitmap thumb = BitmapFactory.decodeResource(getResources(),
R.drawable.ic_launcher);
msg.setThumbImage(thumb);
System.out.println("shareText2Circle tiger:" + tiger);
if (tiger == 1) {
req.scene = SendMessageToWX.Req.WXSceneSession;// 表示傳送場景為朋友圈,這個代表分享到朋友圈
} else {
req.scene = SendMessageToWX.Req.WXSceneTimeline;// 表示傳送場景為好友對話,這個代表分享給好友
// req.scene = SendMessageToWX.Req.WXSceneFavorite;
}
wxApi.sendReq(req);
// 表示傳送場景為收藏,這個代表新增到微信收藏
// 呼叫api介面傳送資料到微信
finish();
}
這裡只是簡單的分享文字到微信,其他分享類似,大家可以參照微信公眾平臺的demo
本人第一篇微博,主要就是講一下自己在開發時遇到的問題,就簽名搞錯了花費了一天多時間,大家記得簽名就是在打包app時 最後顯示的MD5(去掉“:”,將大寫字母變成小寫)
奔部落格 只代表個人開發見解