类android.net.MailTo源码实例Demo

下面列出了怎么用android.net.MailTo的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: watchpresenter   文件: MailtoWebView.java
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if (url.startsWith("mailto:")) {
        final Activity activity = mActivityRef.get();
        if (activity != null) {
            MailTo mt = MailTo.parse(url);
            Intent i = newEmailIntent(activity, mt.getTo(), mt.getSubject(), mt.getBody(), mt.getCc());
            activity.startActivity(i);
            view.reload();
            return true;
        }
    } else {
        view.loadUrl(url);
    }
    return true;
}
 
源代码2 项目: android-mrz-reader   文件: HelpActivity.java
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
  if (url.startsWith("file")) {
    // Keep local assets in this WebView.
    return false;
  } else if (url.startsWith("mailto:")) {
    try {
          MailTo mt = MailTo.parse(url);
          Intent i = new Intent(Intent.ACTION_SEND);
          i.setType("message/rfc822");
          i.putExtra(Intent.EXTRA_EMAIL, new String[]{mt.getTo()});
          i.putExtra(Intent.EXTRA_SUBJECT, mt.getSubject());
          context.startActivity(i);
          view.reload();
    }
    catch (ActivityNotFoundException e) {
      Log.w(TAG, "Problem with Intent.ACTION_SEND", e);
              new AlertDialog.Builder(context)
                .setTitle("Contact Info")
                .setMessage( "Please send your feedback to: [email protected]" )
                .setPositiveButton( "Done", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Log.d("AlertDialog", "Positive");
                    }
                })
                .show();
    }
        return true;
  } else {
    // Open external URLs in Browser.
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
    return true;
  }
}
 
private void handleIntent() {
  Intent intent = getIntent();
  String action = intent.getAction();
  if(Intent.ACTION_VIEW.equals(action) || Intent.ACTION_SENDTO.equals(action)) {
    try {
      Uri uri = intent.getData();
      if(uri != null) {
        String scheme = uri.getScheme();
        if(scheme != null && scheme.equals(MAILTO) ) {
          String textToShare = getTextToShare(uri);
          MailTo mailto = MailTo.parse(uri.toString());
          String recipientsList = mailto.getTo();
          if(recipientsList != null && !recipientsList.isEmpty()) {
            String[] recipientsArray = recipientsList.split(",");
            if (recipientsArray.length >= 1) {
              String recipient = recipientsArray[0];
              if (textToShare != null && !textToShare.isEmpty()) {
                getIntent().putExtra(TEXT_EXTRA, textToShare);
              }
              onContactSelected(DcContact.DC_CONTACT_ID_NEW_CONTACT, recipient);
            }
          } else {
            Intent shareIntent = new Intent(this, ShareActivity.class);
            shareIntent.putExtra(Intent.EXTRA_TEXT, textToShare);
            startActivity(shareIntent);
            finish();
          }
        }
      }
    }
    catch(Exception e) {
      Log.e(TAG, "start activity from external 'mailto:' link failed", e);
    }
  }
}
 
源代码4 项目: 365browser   文件: TabContextMenuItemDelegate.java
@Override
public void onAddToContacts(String url) {
    Intent intent = new Intent(Intent.ACTION_INSERT);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
    if (MailTo.isMailTo(url)) {
        intent.putExtra(
                ContactsContract.Intents.Insert.EMAIL, MailTo.parse(url).getTo().split(",")[0]);
    } else if (UrlUtilities.isTelScheme(url)) {
        intent.putExtra(ContactsContract.Intents.Insert.PHONE, UrlUtilities.getTelNumber(url));
    }
    IntentUtils.safeStartActivity(mTab.getActivity(), intent);
}
 
源代码5 项目: Ninja   文件: IntentUnit.java
public static Intent getEmailIntent(MailTo mailTo) {
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_EMAIL, new String[] { mailTo.getTo() });
    intent.putExtra(Intent.EXTRA_TEXT, mailTo.getBody());
    intent.putExtra(Intent.EXTRA_SUBJECT, mailTo.getSubject());
    intent.putExtra(Intent.EXTRA_CC, mailTo.getCc());
    intent.setType(INTENT_TYPE_MESSAGE_RFC822);

    return intent;
}
 
 类所在包
 类方法
 同包方法