Android之微信開放平臺實(shí)現(xiàn)分享(分享好友和朋友圈)

開發(fā)中分享操作往往經(jīng)常遇到收夸,而且還是一些比較大型一定的平臺,如微信卧惜,QQ,微博等咽瓷。寫這篇博客主要是把微信的的分享和相關(guān)操作表達(dá)一下,分享可以包含:文字忱详,視頻围来,音樂匈睁,圖片等分享监透。

分享可以有 分享給好友,群航唆,朋友圈等胀蛮。

效果如下圖:(注意:功能根據(jù)自己的需要選擇就可以了)

image

準(zhǔn)備工作:

微信開放平臺創(chuàng)建應(yīng)用,操作步驟請看博客:Android之微信開放平臺創(chuàng)建應(yīng)用

成功之后得到AppId糯钙,放入項(xiàng)目中粪狼。

public class Constants {
    // APP_ID 替換為你的應(yīng)用從官方網(wǎng)站申請到的合法appId==
    public static final String APP_ID = "wx1b73fd7b49ffa027";

    public static class ShowMsgActivity {
        public static final String STitle = "showmsg_title";
        public static final String SMessage = "showmsg_message";
        public static final String BAThumbData = "showmsg_thumb_data";
    }

public class AppRegister extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        final IWXAPI api = WXAPIFactory.createWXAPI(context, null);

        // 將該app注冊到微信
        api.registerApp(Constants.APP_ID);
    }
}

文本分享代碼:

// 初始化一個(gè)WXTextObject對象
                        WXTextObject textObj = new WXTextObject();
                        textObj.text = text;
                        // 用WXTextObject對象初始化一個(gè)WXMediaMessage對象
                        WXMediaMessage msg = new WXMediaMessage();
                        msg.mediaObject = textObj;
                        // 發(fā)送文本類型的消息時(shí),title字段不起作用
                        msg.title = "Will be ignored";
                        msg.description = text;

                        // 構(gòu)造一個(gè)Req
                        SendMessageToWX.Req req = new SendMessageToWX.Req();
                        req.transaction = buildTransaction("text"); // transaction字段用于唯一標(biāo)識一個(gè)請求

                        req.message = msg;
                        /**
                         * 判斷是否是朋友圈
                         */
                        req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;

                        // 調(diào)用api接口發(fā)送數(shù)據(jù)到微信
                        api.sendReq(req);

圖片分享代碼:(包含 本地圖片任岸,SD卡圖片再榄,網(wǎng)絡(luò)圖片)

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.send_img);
                            WXImageObject imgObj = new WXImageObject(bmp);
                            WXMediaMessage msg = new WXMediaMessage();
                            msg.mediaObject = imgObj;

                            Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, THUMB_SIZE, THUMB_SIZE, true);
                            bmp.recycle();
                            msg.thumbData = Util.bmpToByteArray(thumbBmp, true);  // 設(shè)置所圖;

                            SendMessageToWX.Req req = new SendMessageToWX.Req();
                            req.transaction = buildTransaction("img");
                            req.message = msg;
                            req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;
                            api.sendReq(req);

音樂分享代碼

WXMusicObject music = new WXMusicObject();
                            music.musicUrl="http://staff2.ustc.edu.cn/~wdw/softdown/index.asp/0042515_05.ANDY.mp3";
                            WXMediaMessage msg = new WXMediaMessage();
                            msg.mediaObject = music;
                            msg.title = "標(biāo)題";
                            msg.description = "描述信息";

                            Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.send_music_thumb);
                            msg.thumbData = Util.bmpToByteArray(thumb, true);

                            SendMessageToWX.Req req = new SendMessageToWX.Req();
                            req.transaction = buildTransaction("music");
                            req.message = msg;
                            req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;
                            api.sendReq(req);

視頻分享代碼

WXVideoObject video = new WXVideoObject();
                            video.videoUrl = "url....mp4";//mp4視頻路徑
                            WXMediaMessage msg = new WXMediaMessage(video);
                            msg.title = "標(biāo)題";
                            msg.description = "描述信息";
Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.send_music_thumb); msg.thumbData = Util.bmpToByteArray(thumb, true); SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("video"); req.message = msg; req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession; api.sendReq(req);

網(wǎng)頁分享代碼:

WXWebpageObject webpage = new WXWebpageObject();
                            webpage.webpageUrl = "http://www.baidu.com";
                            WXMediaMessage msg = new WXMediaMessage(webpage);
                            msg.title = "標(biāo)題";
                            msg.description = "描述信息";
                            Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.send_music_thumb);
                            msg.thumbData = Util.bmpToByteArray(thumb, true);

                            SendMessageToWX.Req req = new SendMessageToWX.Req();
                            req.transaction = buildTransaction("webpage");
                            req.message = msg;
                            req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;
                            api.sendReq(req);

等等享潜。

代碼下載

github: https://github.com/DickyQie/android-third-party/tree/weixin-share

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末困鸥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子剑按,更是在濱河造成了極大的恐慌疾就,老刑警劉巖澜术,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異猬腰,居然都是意外死亡鸟废,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門姑荷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盒延,“玉大人,你說我怎么就攤上這事厢拭±加ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵供鸠,是天一觀的道長畦贸。 經(jīng)常有香客問我,道長楞捂,這世上最難降的妖魔是什么薄坏? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮寨闹,結(jié)果婚禮上胶坠,老公的妹妹穿的比我還像新娘。我一直安慰自己繁堡,他們只是感情好沈善,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著椭蹄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪罩润。 梳的紋絲不亂的頭發(fā)上翼馆,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天应媚,我揣著相機(jī)與錄音,去河邊找鬼消玄。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的嗜桌。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼浮定,長吁一口氣:“原來是場噩夢啊……” “哼桦卒!你這毒婦竟也來了匿又?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤裕偿,失蹤者是張志新(化名)和其女友劉穎嘿棘,沒想到半個(gè)月后旭绒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡重父,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年坪郭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了歪沃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嫌松。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡萎羔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出缘眶,到底是詐尸還是另有隱情,我是刑警寧澤该抒,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布顶燕,位于F島的核電站,受9級特大地震影響欧引,放射性物質(zhì)發(fā)生泄漏恳谎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一癌蓖、第九天 我趴在偏房一處隱蔽的房頂上張望婚肆。 院中可真熱鬧,春花似錦用僧、人聲如沸赞咙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至歹垫,卻和暖如春颠放,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背暮芭。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留辕宏,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓舷蟀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扫步。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容