我不知道你的意思是'常用的方式',但我認爲你應該設置類型爲intent.setType("image/*");
。
編輯:
你怎麼意圖發送數據取決於篩選特定操作的應用程序的可用性。處理ACTION_SEND的應用程序可能無法處理ACTION_SEND_MULTIPLE。點擊HTC Gallery上的共享會生成一個處理圖像的應用程序列表,單個或多個。如果您選擇郵件,那麼您可以選擇多個圖像。但是,如果您選擇Facebook或Peep,那麼您只能選擇一個圖像。這是我簡單的解決方案,如果你想做與HTC Gallery相反的,那就是:用戶首先選擇圖像,然後根據他選擇的人數向他展示所有兼容的應用程序。
// assuming uris is a list of Uri
Intent intent = null;
if (uris.size > 1){
intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
} else if (uris.size() == 1) {
intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, uris.get(0));}
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_TEXT, "Some message");
startActivity(Intent.createChooser(intent,"compatible apps:"));
你忘了告訴我們將會使用這個意圖(你的活動/服務或Android操作系統應該選擇) – Selvin
什麼關係呢?目前我正在考慮自己沒有處理這個意圖 –
是的......活動是在同一個pakage中,你可以指出這種活性的類可以很明顯,並且你根本不需要設置類型......但是如果你發送wana這意圖建立在應用程序中,例如MMS或電子郵件應用程序,你有...任何方式,我看到你已經找到解決方案:) – Selvin