SORU
15 ŞUBAT 2010, PAZARTESİ


Android birden çok ek Niyet kullanarak e-posta

Android program bir eklenti (resim dosyası, ses dosyası, vb.) ACTION_SEND ile Niyet kullanarak e-posta göndermek için çalışıyorum. Program e-posta tek bir Eki varsa çalışıyor. Intent.putExtra(android.content.Intent.EXTRA_STREAM, uri) posta için belirlenen görüntü dosyası eklemek için kullandım ve gayet iyi çalışıyor, posta Gmail üzerinden teslim edilebilir. Intent.putExtra(android.content.Intent.EXTRA_STREAM, uri) birden fazla kez çağrılarak birden fazla resim aynı mail olduğu için denedim, ancak çalışmak için başarısız oldu. Eki hiçbiri e-posta göstermek.

E-posta eki hakkında SDK belgelerine ve Android programlama kullanıcı grubu aradım ama ilgili herhangi bir bilgi bulunamıyor. Ancak, başka bir niyet sabit olduğunu keşfettim benim ihtiyacını karşılamak olabilir ACTION_SEND_MULTIPLE () API seviye 4'ten beri mevcut. SDK belgelerine göre, başkası için birden fazla veri teslim şekilde Amerika, verileri birden çok olması dışında ACTION_SEND gibi çalışır. Ama ben hala bu komut için doğru kullanımını çözemedim. Denedim bildirmek niyetiyle ACTION_SEND_MULTIPLE, çağrı putExtra(EXTRA_STREAM, uri) birden çok kez birden fazla resim eklemek isterdim ama aynı hatalı sonucu daha önce olduğu gibi, hiçbir ek gelir e-posta.

Herkes ACTION_SEND_MULTIPLE ile çalıştı ve birden çok e-posta eki ile çalışan var mı?

CEVAP
21 Temmuz 2010, ÇARŞAMBA


Burada birden çok ek içeren bir emailİntent oluşturmak için gereken kodu.

public static void email(Context context, String emailTo, String emailCC,
    String subject, String emailText, List<String> filePaths)
{
    //need to "send multiple" to get more than one attachment
    final Intent emailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
    emailIntent.setType("text/plain");
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, 
        new String[]{emailTo});
    emailIntent.putExtra(android.content.Intent.EXTRA_CC, 
        new String[]{emailCC});
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); 
    emailIntent.putExtra(Intent.EXTRA_TEXT, emailText);
    //has to be an ArrayList
    ArrayList<Uri> uris = new ArrayList<Uri>();
    //convert from paths to Android friendly Parcelable Uri's
    for (String file : filePaths)
    {
        File fileIn = new File(file);
        Uri u = Uri.fromFile(fileIn);
        uris.add(u);
    }
    emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
    context.startActivity(Intent.createChooser(emailIntent, "Send mail..."));
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 30GB

    30GB

    14 AĞUSTOS 2006
  • Just So

    Just So

    3 HAZİRAN 2007
  • xdadevelopers

    xdadeveloper

    25 Aralık 2009