這裡就記錄下第一種辦法。
intent textintent = new intent(intent.action_send);
textintent.settype("text/plain");
textintent.putextra(intent.extra_text, "這是一段分享的文字");
startactivity(intent.createchooser(textintent, "分享"));
效果如下圖:
分享文字資訊
string path = getresourcesuri(r.drawable.shu_1);
intent imageintent = new intent(intent.action_send);
imageintent.settype("image/jpeg");
imageintent.putextra(intent.extra_stream, uri.parse(path));
startactivity(intent.createchooser(imageintent, "分享"));
arraylistimageuris = new arraylist<>();
uri uri1 = uri.parse(getresourcesuri(r.drawable.dog));
uri uri2 = uri.parse(getresourcesuri(r.drawable.shu_1));
imageuris.add(uri1);
imageuris.add(uri2);
intent mulintent = new intent(intent.action_send_multiple);
mulintent.putparcelablearraylistextra(intent.extra_stream, imageuris);
mulintent.settype("image/jpeg");
startactivity(intent.createchooser(mulintent,"多檔案分享"));
上面幾個例子的效果都是一樣的,建立乙個選擇器,讓使用者自己選擇分享到**。
這裡有一點得注意,就是通過這種方法進行分享,intent傳遞的資料的type(就是settype()方法)一定要控制好,不然會出錯。(至於為什麼後面說)。
其中由於是分享的res中的,故轉變為uri,方法在這:
private string getresourcesuri(@drawableres int id)
intent wechatintent = new intent(intent.action_send);
wechatintent.setpackage("com.tencent.mm");
wechatintent.settype("text/plain");
startactivity(wechatintent);
效果如下:
intent qqintent = new intent(intent.action_send);
qqintent.setpackage("com.tencent.mobileqq");
qqintent.settype("text/plain");
startactivity(qqintent);
效果如下:
分享到qq
呼叫android系統自帶功能
intent應該算是android中特有的東西。你可以在intent中指定程式要執行的動作 比如 view,edit,dial 以及程式執行到該動作時所需要的資料。都指定好後,只要呼叫startactivity android系統會自動尋找最符合你指定要求的應用程式,並執行該程式。下面列出幾種int...
Android系統自帶樣式
android theme android style theme.dialog activity顯示為對話方塊模式 android theme android style theme.notitlebar 不顯示應用程式標題欄 android theme android style theme.n...
iOS系統自帶分享功能
1 2345 6789 1011 1213 1415 1617 1819 2021 2223 2425 2627 void touchesbegan nsset touches withevent uievent event 建立控制器,並設定servicetype slcomposeviewcon...