簡體   English   中英

從Android中的Intent過濾器獲取電子郵件地址

[英]Get Email Address from Intent Filter in Android

如何獲取通過android中的intent-filter提供的電子郵件? 目前,我嘗試了此操作,可以收到Action SEND,但Extra_EMail為null。

    Intent intent = getIntent();
    String action = intent.getAction();
    String type = intent.getType();


    String sharedText = intent.getStringExtra(Intent.EXTRA_EMAIL);
    if (sharedText != null) {
        Toast.makeText(getApplicationContext(), sharedText,
                Toast.LENGTH_LONG).show();

        mEdit.setText(sharedText);
    }

它僅在將收件人作為字符串數組傳遞時才有效

嘗試這樣:

emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
                      new String[] { "someone@gmail.com" });

這是我的輔助功能,用於發送電子郵件:

public static Intent email(Context context, String[] addresses, String subject, String body, Uri attachment) {
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("message/rfc822");
    if (addresses != null)
        intent.putExtra(Intent.EXTRA_EMAIL, addresses);
    if (body != null)
        intent.putExtra(Intent.EXTRA_TEXT, body);
    if (subject != null)
        intent.putExtra(Intent.EXTRA_SUBJECT, subject);
    if (attachment != null)
        intent.putExtra(Intent.EXTRA_STREAM, attachment);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    return intent;
}

您可以在Activity中以這種方式使用它:

startActivity(email(this, new String [] {"abc@def.com", "Subject of email", "Message inside email", null));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM