2010-07-14 165 views
1

喲大家好。如何響應瀏覽器的意圖?

你知道當你從瀏覽器做選項/更多/共享頁面嗎?那麼我希望我的一個活動出現在所有能夠響應該瀏覽器意圖的應用程序的菜單中。事情是我不知道如何編寫清單中的意圖過濾器。另外,如何訪問數據,例如網頁的網址和標題,這些數據應該是作爲額外的意圖添加的?

乾杯

回答

2

我不能在此刻進行測試以確保但我認爲你可以用下面的代碼爲SEND意圖過濾器註冊,那麼你就應該顯示爲一個供應商。

<intent-filter android:label="@string/app_name"> 
    <action android:name="android.intent.action.SEND" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="text/plain" /> 
</intent-filter> 

,然後得到從演員文..

Intent callingIntent = getIntent(); 
String url = callingIntent.getStringExtra(Intent.EXTRA_TEXT); 

我也建議看documentation for ACTION_SEND看到支持的MIME類型和額外的鍵值對。

從ACTION_SEND文檔:

輸入:的getType()是正在發送的MIME類型的數據的。 get * Extra可以包含要發送的數據的EXTRA_TEXT或EXTRA_STREAM字段。如果使用EXTRA_TEXT,MIME類型應該是「text/plain」;否則它應該是EXTRA_STREAM中數據的MIME類型。如果MIME類型未知(這將只允許可以處理通用數據流的發件人),請使用/

可選標準附加項(可能由某些收件人根據需要進行解釋)爲:EXTRA_EMAIL,EXTRA_CC,EXTRA_BCC,EXTRA_SUBJECT。