Domanda

Utilizzando questo codice sono in grado di ottenere direttamente la pagina Gmail composta direttamente, ma voglio inviare questa mail direttamente con la pagina Gmail.Significa quando faccio clic sul mio pulsante di invio dell'attività Dovrei inviare direttamente la posta al recipto perticular senza GOIND sulla pagina Compose Gmail.

Protetto Void SendEmail () {

    String[] recipients = { recieverId.getText().toString() };
    Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));

    email.setType("message/rfc822");

    email.putExtra(Intent.EXTRA_EMAIL, recipients);
    email.putExtra(Intent.EXTRA_SUBJECT, mailSubject.getText().toString());
    email.putExtra(Intent.EXTRA_TEXT, mailBody.getText().toString());

    final PackageManager pm = getPackageManager();
    final List<ResolveInfo> matches = pm.queryIntentActivities(email, 0);
    ResolveInfo best = null;
    for (final ResolveInfo info : matches)
      if (info.activityInfo.packageName.endsWith(".gm") ||
          info.activityInfo.name.toLowerCase().contains("gmail"))
          best = info;
    if (best != null)
      email.setClassName(best.activityInfo.packageName, best.activityInfo.name);

    try {

    startActivity(email);
    } catch (android.content.ActivityNotFoundException ex) {

        Toast.makeText(getApplicationContext(),
                "No email client installed.", Toast.LENGTH_LONG).show();

    }

}
.

È stato utile?

Soluzione

Se l'invio tramite app tramite app, l'intervento dell'utente è richiesto.

Senza l'intervento dell'utente, è possibile inviare come segue:

    .
  1. Invia e-mail dall'APK del cliente.Qui mail.jar, attivazione.jar è tenuto a inviare e-mail Java.Se vengono aggiunti questi barattoli, potrebbe aumentare le dimensioni dell'apk..Link

  2. In alternativa, è possibile utilizzare un servizio Web sul codice lato server, che utilizzerà la stessa mail.jar e attivazione.jar per inviare e-mail.È possibile chiamare il servizio Web tramite Asynctask e inviare e-mail.Riferire lo stesso collegamento

Altri suggerimenti

No, non puoi inviare posta da Gmail senza intervento dell'utente, in questo modo aumenterà il problema di sicurezza.L'unica cosa che puoi chiamare quella app via intenzione come hai fatto sopra.Oppure è possibile utilizzare qualsiasi API di Java Mail per l'invio di posta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top