2016-07-05 15 views
-1

我想創建一個新的意圖發送電子郵件,並遇到此代碼來創建一個意圖。傳入Intent參數Uri.parse(「mailto:」)。 Uri.parse究竟做了什麼?

Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:")); 
  1. 是什麼Intent.ACTION_SEND辦?
  2. Uri.parse("mailto:")是做什麼用的?
+0

['的Uri.parse(字符串)文檔'](https://developer.android.com/reference/android/net/Uri.html#parse(java.lang.String中))。 –

回答

0

文件寫入到目的:

是什麼Intent.ACTION_SEND辦?

活動操作:將一些數據提供給其他人。誰沒有指定數據爲 交付給誰;取決於這個 動作的接收者詢問用戶應該在哪裏發送數據。

當啓動一個SEND意圖,通常應包裝在一個選擇器 (通過createChooser(意向,爲CharSequence)),這將給 正確的接口供用戶挑選如何發送數據,並允許 你指定一個提示,指出他們在做什麼。

輸入:getType()是要發送的數據的MIME類型。獲得*額外 可以有一個EXTRA_TEXT或EXTRA_STREAM字段,其中包含要發送的數據 。如果使用EXTRA_TEXT,MIME類型應爲 「text/plain」;否則它應該是 EXTRA_STREAM中的數據的MIME類型。如果MIME類型未知(只有 允許可以處理通用數據流的發件人),請使用/。如果使用 EXTRA_TEXT,您還可以選擇爲客戶端 提供EXTRA_HTML_TEXT以檢索HTML格式的文本。

從JELLY_BEAN開始,發送的數據可以通過 setClipData(ClipData)提供。這允許您在共享內容時使用 FLAG_GRANT_READ_URI_PERMISSION:URI和其他 ClipData的高級功能。如果使用這種方法,您仍然必須通過以下所述的EXTRA_TEXT或EXTRA_STREAM字段 提供相同的數據以與舊應用程序兼容。如果您沒有設置ClipData, 將在您撥打 startActivity(意圖)時複製給您。

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

輸出:無。

常數值: 「android.intent.action.SEND」

是什麼Uri.parse( 「電子郵件地址:」)呢?

意向(串動, 開放的URI)

創建一個規定動作,並給定數據URL的意圖。需要注意的是 動作必須在一個命名空間,因爲意圖是用來 全球系統 - 例如系統視圖動作 android.intent.action.VIEW;應用程序的自定義操作應爲 ,如com.google.app.myapp.CUSTOM_ACTION。

注:計劃和主機名匹配的Android框架是 大小寫敏感的,不像正式的RFC。因此,你應該總是 確保你寫你的開放的我們使用這些要素小寫字母 用,和規範的任何尤里斯你的Android之外的接收到 確保方案和主機是小寫。

More information about intent