2010-10-31 79 views
0

使用ACTION_SEND,可以將消息發佈到各種共享服務,如Gmail,Facebook,Twitter等。大多數服務具有相當長的消息長度,但特別是twitter簡短(140個字符)。使用ACTION_SEND發送短消息到twitter和長消息到gmail使用ACTION_SEND

一旦出現Intent.createChooser()對話框,就不會提前知道用戶將選擇哪個服務,有沒有一種方法可以構造一個意圖,這將導致twitter的短消息,而是針對其他服務的更長的消息?

+1

也許不是...... – Falmarri 2010-10-31 07:27:58

回答

0

也許你可以嘗試在應用程序中使用twitter作爲選項分開分享。在某些編輯文本框中從應用程序內部獲取文本,並驗證其是否少於140個字符,然後發送文本。即使在這種情況下,當您致電ACTION_SEND時,用戶將能夠看到所有選項,但他們至少會被限制爲140個字符。

Intent i=new Intent(android.content.Intent.ACTION_SEND); 
i.setType("text/plain"); 
i.putExtra(Intent.EXTRA_SUBJECT, R.string.share_subject); 
i.putExtra(Intent.EXTRA_TEXT, ...); 
startActivity(Intent.createChooser(i, R.string.share_title)); 

您也可以嘗試使用位LY API,可以縮短正在Twitter上發佈的URL

+0

謝謝,這是類似於我已經想到了一個解決方案,這是使用不同意圖的兩個不同按鈕(一個用於推特,一個用於其他),並在第二個文本中使用縮短的文本。但Twitter會在第一個顯示爲發送選項,這並不理想。 – emmby 2010-11-02 14:00:06

+0

雖然選項顯示那裏用戶從該頁面選擇Twitter客戶端的可能性將會非常小,因爲他沒有選擇該選項......如果他有這樣做,那將是他的錯。因爲我們沒有一種直接的方法來選擇可以在Twitter上發佈消息的應用程序,我們沒有交出它......可能未來的SDK可以爲我們提供這樣的選項。有些用戶可能會知道:) – DeRagan 2010-11-02 14:05:39

+0

@DeRagan Twitter使用t.co域自動縮短網址。所以你發佈的網址不會計算其全部長度 – 2014-11-15 12:20:28