Android原生分享到微博儿奶、微信等平臺(tái)的實(shí)現(xiàn)方式

在這個(gè)版本功能涉及到Android分享方式的變更框往,需求要求:

分享只支持新浪微博、微信闯捎,其他方式均去掉椰弊。

為了更好的測(cè)試還是要看下Android分享實(shí)現(xiàn)分享的方式,然后才能更好地評(píng)估測(cè)試時(shí)間和設(shè)計(jì)測(cè)試用例~先看下Android原生的分享方式吧瓤鼻。
Android最常見(jiàn)的分享方式是用intent在程序之間發(fā)送和接收數(shù)據(jù)秉版,創(chuàng)建一個(gè)intent時(shí),必須要指定intent將要觸發(fā)的操作茬祷。Android進(jìn)行分享時(shí)使用的intent操作是ACTION_SEND清焕,表示intent是把數(shù)據(jù)從一個(gè)activity發(fā)送給另一個(gè)。下面這段代碼就是Android原生分享的一個(gè)最簡(jiǎn)單的示例(分享文本內(nèi)容)祭犯。

Intent sendIntent = newIntent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "要分享的文字內(nèi)容");
sendIntent.setType("text/plain");
startActivity(sendIntent);

如果分享的不是文本內(nèi)容秸妥,可以修改setType里面的參數(shù)如"image/jpeg"分享圖片等。如果有一個(gè)程序匹配ACTION_SEND和text/plain類(lèi)型沃粗,Android系統(tǒng)會(huì)運(yùn)行它粥惧。如果超過(guò)一個(gè)程序匹配,系統(tǒng)會(huì)顯示一個(gè)對(duì)話(huà)框讓用戶(hù)選一個(gè)app最盅。如果為intent調(diào)用Intent.createChooser()突雪,Android會(huì)總是顯示選擇對(duì)話(huà)框起惕。

Intent sendIntent = newIntent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "要分享的文字內(nèi)容");
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to)));

增加上對(duì)分享平臺(tái)的限制,代碼如下:

        Intent intent = new Intent(Intent.ACTION_SEND);
                        intent.setType("text/plain");
                        List<ResolveInfo> resolveInfos = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
                        if (resolveInfos.isEmpty()) {
                            return;
                        }
                        List<Intent> targetIntents = new ArrayList<>();
                        for (ResolveInfo info : resolveInfos) {
                            ActivityInfo ainfo = info.activityInfo;
                            switch (ainfo.packageName) {
                                case "com.tencent.mm":
                                    addShareIntent(targetIntents, ainfo);
                                    break;
                                case "com.tencent.mobileqq":
                                    addShareIntent(targetIntents, ainfo);
                                    break;
                                case "com.sina.weibo":
                                    addShareIntent(targetIntents, ainfo);
                                    break;
                            }
                        }
                        if (targetIntents == null || targetIntents.size() == 0) {
                            return;
                        }
                        Intent chooserIntent = Intent.createChooser(targetIntents.remove(0), "請(qǐng)選擇分享平臺(tái)");
                        if (chooserIntent == null) {
                            return;
                        }
                        chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetIntents.toArray(new Parcelable[]{}));
                        try {
                            startActivity(chooserIntent);
                        } catch (android.content.ActivityNotFoundException ex) {
                            Toast.makeText(SimpleListViewActivity.this, "找不到該分享應(yīng)用組件", Toast.LENGTH_SHORT).show();
                        }
                        //startActivity(Intent.createChooser(intent, getTitle()));
                    }

                    private void addShareIntent(List<Intent> list,ActivityInfo ainfo) {
                        Intent target = new Intent(Intent.ACTION_SEND);
                        target.setType("text/plain");
                        target.putExtra(Intent.EXTRA_TEXT, "分享看看小可愛(ài)");
                        target.setPackage(ainfo.packageName);
                        target.setClassName(ainfo.packageName, ainfo.name);
                        list.add(target);
                    }

其實(shí)沒(méi)有很復(fù)雜~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末挂签,一起剝皮案震驚了整個(gè)濱河市疤祭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饵婆,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戏售,死亡現(xiàn)場(chǎng)離奇詭異侨核,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)灌灾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)搓译,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人锋喜,你說(shuō)我怎么就攤上這事些己。” “怎么了嘿般?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵段标,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我炉奴,道長(zhǎng)逼庞,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任瞻赶,我火速辦了婚禮赛糟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘砸逊。我一直安慰自己璧南,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布师逸。 她就那樣靜靜地躺著司倚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪字旭。 梳的紋絲不亂的頭發(fā)上对湃,一...
    開(kāi)封第一講書(shū)人閱讀 52,328評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音遗淳,去河邊找鬼拍柒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛屈暗,可吹牛的內(nèi)容都是我干的拆讯。 我是一名探鬼主播脂男,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼种呐!你這毒婦竟也來(lái)了宰翅?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤爽室,失蹤者是張志新(化名)和其女友劉穎汁讼,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體阔墩,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嘿架,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了啸箫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耸彪。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖忘苛,靈堂內(nèi)的尸體忽然破棺而出蝉娜,到底是詐尸還是另有隱情,我是刑警寧澤扎唾,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布召川,位于F島的核電站,受9級(jí)特大地震影響稽屏,放射性物質(zhì)發(fā)生泄漏扮宠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一狐榔、第九天 我趴在偏房一處隱蔽的房頂上張望坛增。 院中可真熱鬧,春花似錦薄腻、人聲如沸收捣。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)罢艾。三九已至,卻和暖如春尽纽,著一層夾襖步出監(jiān)牢的瞬間咐蚯,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工弄贿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留春锋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓差凹,卻偏偏與公主長(zhǎng)得像期奔,于是被迫代替她去往敵國(guó)和親侧馅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,290評(píng)論 25 707
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線(xiàn)程呐萌,因...
    小菜c閱讀 6,444評(píng)論 0 17
  • 濮大櫻花頌 甲:每一朵鮮花馁痴,都是上天的恩賜, 乙:每一粒種子肺孤,都是生命的開(kāi)始罗晕。 甲:每一束陽(yáng)光,都是無(wú)私的照耀赠堵, ...
    菩提花事閱讀 1,266評(píng)論 2 3
  • 本文設(shè)定貴利矢并沒(méi)有消失攀例,文筆渣 永夢(mèng)理解不能,三天前到底發(fā)生了什么顾腊,以至于所有人都……特別是今天發(fā)生...
    雨血影閱讀 6,963評(píng)論 4 26
  • 寶劍騎士:傳奇中的豪俠人物,喜好奢侈和放縱挖胃,但非常勇敢杂靶,富于創(chuàng)業(yè)精神。
    塔羅師閱讀 822評(píng)論 0 0