Android分享 呼叫系統自帶的分享功能

2021-08-01 04:08:19 字數 1946 閱讀 4581

這裡就記錄下第一種辦法。

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...