價值我創建了一個在電子郵件發送應用程序列表中顯示的應用程序。獲取的mailto從電子郵件意圖
在特殊應用當用戶在一個電子郵件地址點擊時,所有的應用程序email sending
apear我的應用程序是其中之一,用戶可以選擇其名單上。
我想保存電子郵件時我的應用程序的用戶點擊。
所有的事情都很好,但我不知道如何從我的應用程序獲得電子郵件?
我知道其他應用程序使用此代碼:
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
"mailto","[email protected]", null));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Body");
startActivity(Intent.createChooser(emailIntent, "Send email..."));
但我不知道如何訪問這些數據放入額外的費用。我只需要從頂端代碼獲取mailto
值。
我怎麼能現在得到mailto
價值?
編輯:
我有許多共同的電子郵件地址中的一個應用程序,但我不能複製它們。這些電子郵件只是當我點擊他們的Android鏈接所有電子郵件發件人應用程序的鏈接。我想使用我開發的應用程序逐個獲取此電子郵件,並將它們保存在txt文件中。
編輯2: 我找到一種方式來顯示我的所有其他應用電子郵件發件人應用list.i找出不同的應用使用不同的方法把額外的內容發送電子郵件。 爲解決這個問題,並顯示在所有其他應用程序的電子郵件發送列表,我用很多<intent-filter>
在我AndroidManifest.xml
這樣的應用程序:
許多應用程序使用方法ACTION_VIEW
發送電子郵件。如果你想顯示在這種類型的應用程序的應用程序,您必須在您的清單文件使用此代碼:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="mailto" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
另一類用於ACTION_SEND
爲呼叫電子郵件發件人的應用列表提供意圖應用程序。如果你想顯示在這些類型的應用程序的應用程序,你必須將此代碼添加到您的AndroidManifest.xml
文件和你的Activity
標籤: 你可以看到3個方法,以提供意圖,我發現這些方式來表達我的應用程序中的所有應用程序的電子郵件發送名單也許另一個方法存在,我不知道現在:
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="mailto"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/*"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="message/*"/>
</intent-filter>
編輯3:我用這個代碼在我的活動:現在
bundle = intent.getExtras();
if (bundle != null) {
for (String key : bundle.keySet()) {
Object value = bundle.get(key);
Log.d("Extra : ", String.format("%s %s (%s)", key,
value.toString(), value.getClass().getName()));
}
}
,我也得到LO G:
D/Extra :: android.intent.extra.EMAIL [Ljava.lang.String;@2244b9ca ([Ljava.lang.String;)
就說明我有額外的一個價值,它的名字是android.intent.extra.EMAIL,但我不能得到這個值。我測試了很多方法!
你怎麼知道有一捆?目前還不清楚你在哪裏得到這個錯誤。如果只有電子郵件,它應該像我下面說的那樣工作:String dataEmail = intent.getDataString(); –
'intent.getDataString()'和'intent.getData()'返回一個空值。我檢查了他們兩個'if' –
那麼捆綁不會返回null?很難知道發送應用程序在做什麼,所以我們必須測試所有的東西。 –