Android 不一樣的原生分享

2021-09-08 04:07:17 字數 2109 閱讀 1018

那另外一種方案就彌補了上面兩種不足,使用第三方的,如sharesdk,可以自定義介面,可以自己決定有哪些課分享的應用展示出來。但是我還是比較懶地嫌棄了,因為每開發乙個引用都需要去申請乙個key,引用一堆的包。

所以我還是想找乙個集合上面兩種優勢的方案,直到我看了android原生的相簿,我就覺得有希望了。最終試驗結果如下

然後就繼續引來更大的一波嫌棄:

還是那樣的難看,比之前更難看。。。。。。。。。。。

可重點是,現在能把這些分享的應用資訊都那得到了,並且也可以順利的分享出去了。那剩下的事情就是把介面做得好看一點,把自己不喜歡的那些應用都篩選掉。實際上剩下的我都不做了。單純講講怎麼拿到這些分享資訊資料和分享出去。

由於用的是系統原生的分享,故使用intent是必不可少的,分享和分享文字的分別如下

1         intent intent=new

intent(intent.action_send);

23 intent.settype("image/*");45

intent.addflags(intent.flag_grant_read_uri_permission);

67 intent.putextra(intent.extra_stream, uri);

1         intent intent=new

intent(intent.action_send);

23 intent.settype("text/plain");45

intent.putextra(intent.extra_text, sharecontentstring);

67 intent.addflags(intent.flag_grant_read_uri_permission);

與網上眾多的方法相比,對flags的設定有所不同,其餘的還是一樣的,接下來的則是不一樣的

1        listresolveinfo=this.getpackagemanager().queryintentactivities(intent, 0);23

string label;45

drawable icon;67

resolveinfo info;

89 hashmapitem;

1011

datasource.clear();

1213

for(int i=0;i)

1415

.getpackagemanager()23

45for67

當選擇好需要分享的應用後,接下來就執行分享操作了

1             resolveinfo resolve=(resolveinfo) datasource.get(index).get("resolve");

23 activityinfo ai=resolve.activityinfo;

45 intent intent=new intent((intent) datasource.get(index).get("intent"));

67 intent.setcomponent( new

89 startactivity(intent);

資料就如此被分享出去了。

稍微總結一下,這個方式仍有他的弊端,還沒滿足同時分享和文字,如果能做到那就更好了,或者是對intent了解還沒夠深入,這個分享呼叫主要靠的是intent,另外則是那堆info類了。當初學習android時對intent了解還是很不明不白,intent終須要徹徹底底地理解一番。本方法暫時未封裝成工具類或元件,各位懂得用的園友們看了也能自己動手做乙個,請啊!

不一樣又不一樣的 木板接水

空地上豎立著n個從左到右排列的木板,它們可以把水擋住,但溢位最邊上木板的水將會流到空地上。已知木板間距都是單位1,現給定每個木板的高度,請求出總共能接住的水量?說明一點,這裡只考慮間距 寬度 和高度,不考慮第三個維度,因此水量是平方單位。木板高度分別是2,1,3,那麼我們可以接住2 2 4平方單位的...

我們不一樣

前輩們因自身實際的種種因素的影響而產生的認知,並不一定適用於我們自身。你可能從來不會去想乙個問題 你的觀點,來自 其實,它們絕大部分來自網路,它們或多或少地蠶食了你的判斷力。未來的路要怎麼走,沒有對與錯。有的,只是每乙個選擇所需要承擔的責任。我不想面臨,後之視今亦猶今之視昔的悲哀。我希望,未來回首,...

我們不一樣

這麼多年的兄弟 有誰比我更了解你 太多太多不容易 磨平了歲月和脾氣 時間轉眼就過去 這身後不散的筵席 只因為我們還在 心留在原地 張開手 需要多大的勇氣 這片天 你我一起撐起 更努力 只為了我們想要的明天 好好的 這份情好好珍惜 我們不一樣 每個人都有不同的境遇 我們在這裡 在這裡等你 我們不一樣 ...