我的應用程序將(可選)在執行操作時發送社交媒體更新。爲ACTION_SEND文本明智地設置默認應用程序(通過選配器,首選項等)
我想通過使用用戶安裝的社交媒體應用程序來做到這一點。我不想限制用戶使用任何特定的應用程序,因此任何可以響應ACTION_SEND
意圖的類型爲text/plain
的應用程序都可以。但是,我不希望用戶每次都必須選擇 - 通常,他們每次都會使用同一個應用程序,也就是說,一旦他們選擇了TweetCaster/Facebook /無論什麼時候,他們都會堅持下去。
如果我只是startActivity()
與ACTION_SEND
和text/plain
,我得到一個「完成操作使用」選擇器,並且還有一個「此操作默認使用」複選框。
但是,這將爲所有應用程序的意圖設置默認值,並且似乎(a)某人可能已經違約到非社交媒體應用程序發送文本,並且(b)即使他們沒有,似乎有點「粗魯」,默認這樣的一般意圖發送一些文本的地方。
人們通常在這裏做什麼?我做了一個ListPreference,可以選擇一個特定的應用程序(所以我可以在一個應用程序中選擇我的應用程序,而不是系統範圍),但它看起來像很多代碼簡單。
我錯過了更明顯的東西嗎?有沒有辦法啓動選擇器,以便「默認使用此操作」僅用作默認操作我的應用程序ACTION_SENDing text/plain?
謝謝。進一步研究它,我認爲以對話爲主題的活動的建議可能比我要標題更清晰 - 無論是創建自定義選擇器,還是僅僅作爲構建看起來像ListPreference的更好方法,但是允許在首選項中選擇應用程序。 (ListPreference實際上並不像它被設計爲以我彎曲的方式被濫用,所以我認爲從頭開始似乎更明智。) – 2012-03-15 14:20:31