2011-12-13 67 views
0

當用戶嘗試將附件添加到SMS/MMS消息時會觸發什麼?我想這和他們沒有工作:Android意圖過濾器:將附件添加到SMS/MMS消息

GET_CONTENT與DEFAULT類別和「/」 mime類型 挑DEFAULT類別和「/」 mime類型

我也試圖與類別可打開和BROWSABLE以上。

我無法在任何地方找到此文件。它似乎與電子郵件附件過濾器的意圖不同。

爲了澄清,我正在討論在用戶嘗試附加某些內容到SMS或MMS消息時出現的對話框中添加我的應用程序作爲選項。

回答

2

通常用戶這樣對圖片添加到彩信:

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
sendIntent.putExtra("sms_body", "some text"); 
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(url)); 
sendIntent.setType("image/png"); 

所以,你應該註冊您的活動ACTION_SENDaction

還可以過濾對具有通過mime="image/png"過濾器附加的圖像意圖:

<intent-filter android:icon="drawable resource" 
      android:label="string resource" 
      android:priority="integer" > 
    <action android:name="ACTION_SEND" /> 
    <data android:mimeType="image/png"/> 
</intent-filter> 

更新:

要查看彩信應用如何添加附件查看此代碼:http://www.google.com/codesearch#cZwlSNS7aEw/packages/apps/Mms/src/com/android/mms/ui/ComposeMessageActivity.java&exact_package=android&q=AttachmentTypeSelectorAdapter&type=cs&l=2415

在大多數情況下,您的應用需要註冊ACTION_GET_CONTENT操作。

+0

這不會將我的應用程序添加到用戶添加附件時可以選擇的應用程序列表。這就是我所追求的。 – 2011-12-13 18:44:47

0

原來,附件對話框不是電子郵件附件的意圖。這是控制附件類型的中間對話框。

在我的情況下,選擇一個對應於MIME類型的類型(如image/png)會激發意圖並將我的應用程序顯示爲選項之一。

感謝Peter Knego提供的Android源代碼鏈接。