<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML style="overflow:auto;">
<HEAD>
<meta name="generator" content="JDiff v1.1.0">
<!-- Generated by the JDiff Javadoc doclet -->
<!-- (http://www.jdiff.org) -->
<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
<TITLE>
android.service.carrier.CarrierMessagingService
</TITLE>
<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
<noscript>
<style type="text/css">
body{overflow:auto;}
#body-content{position:relative; top:0;}
#doc-content{overflow:visible;border-left:3px solid #666;}
#side-nav{padding:0;}
#side-nav .toggle-list ul {display:block;}
#resize-packages-nav{border-bottom:3px solid #666;}
</style>
</noscript>
<style type="text/css">
</style>
</HEAD>
<BODY>
<!-- Start of nav bar -->
<a name="top"></a>
<div id="header" style="margin-bottom:0;padding-bottom:0;">
<div id="headerLeft">
<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
</div>
  <div id="headerRight">
  <div id="headerLinks">
<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
<span class="text">
<!-- &nbsp;<a href="#">English</a> | -->
<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
</span>
</div>
  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
    <table class="diffspectable">
      <tr>
        <td colspan="2" class="diffspechead">API Diff Specification</td>
      </tr>
      <tr>
        <td class="diffspec" style="padding-top:.25em">To Level:</td>
        <td class="diffvaluenew" style="padding-top:.25em">23</td>
      </tr>
      <tr>
        <td class="diffspec">From Level:</td>
        <td class="diffvalueold">22</td>
      </tr>
      <tr>
        <td class="diffspec">Generated</td>
        <td class="diffvalue">2015.08.14 14:28</td>
      </tr>
    </table>
    </div><!-- End and-diff-id -->
  <div class="and-diff-id" style="margin-right:8px;">
    <table class="diffspectable">
      <tr>
        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
      </tr>
    </table>
  </div> <!-- End and-diff-id -->
  </div> <!-- End headerRight -->
  </div> <!-- End header -->
<div id="body-content" xstyle="padding:12px;padding-right:18px;">
<div id="doc-content" style="position:relative;">
<div id="mainBodyFluid">
<H2>
Class android.service.carrier.<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html" target="_top"><font size="+2"><code>CarrierMessagingService</code></font></A>
</H2>
<a NAME="constructors"></a>
<a NAME="methods"></a>
<p>
<a NAME="Removed"></a>
<TABLE summary="Removed Methods" WIDTH="100%">
<TR>
  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
</TH>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="android.service.carrier.CarrierMessagingService.onSendDataSms_removed(byte[], int, java.lang.String, int, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>)"></A>
  <nobr><code>void</code>&nbsp;onSendDataSms(<code>byte[],</nobr> int<nobr>,</nobr> String<nobr>,</nobr> int<nobr>,</nobr> ResultCallback&lt;SendSmsResult&gt;<nobr><nobr></code>)</nobr>
  </TD>
  <TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="android.service.carrier.CarrierMessagingService.onSendMultipartTextSms_removed(java.util.List<java.lang.String>, int, java.lang.String, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>)"></A>
  <nobr><code>void</code>&nbsp;onSendMultipartTextSms(<code>List&lt;String&gt;,</nobr> int<nobr>,</nobr> String<nobr>,</nobr> ResultCallback&lt;SendMultipartSmsResult&gt;<nobr><nobr></code>)</nobr>
  </TD>
  <TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="android.service.carrier.CarrierMessagingService.onSendTextSms_removed(java.lang.String, int, java.lang.String, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>)"></A>
  <nobr><code>void</code>&nbsp;onSendTextSms(<code>String,</nobr> int<nobr>,</nobr> String<nobr>,</nobr> ResultCallback&lt;SendSmsResult&gt;<nobr><nobr></code>)</nobr>
  </TD>
  <TD>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<p>
<a NAME="Added"></a>
<TABLE summary="Added Methods" WIDTH="100%">
<TR>
  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
</TH>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="android.service.carrier.CarrierMessagingService.onSendDataSms_added(byte[], int, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>)"></A>
  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#onSendDataSms(byte[], int, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>)" target="_top"><code>onSendDataSms</code></A>(<code>byte[],</nobr> int<nobr>,</nobr> String<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> ResultCallback&lt;SendSmsResult&gt;<nobr><nobr></code>)</nobr>
  </TD>
  <TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="android.service.carrier.CarrierMessagingService.onSendDataSms_added(byte[], int, java.lang.String, int, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>)"></A>
  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#onSendDataSms(byte[], int, java.lang.String, int, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>)" target="_top"><code>onSendDataSms</code></A>(<code>byte[],</nobr> int<nobr>,</nobr> String<nobr>,</nobr> int<nobr>,</nobr> ResultCallback&lt;SendSmsResult&gt;<nobr><nobr></code>)</nobr>
  </TD>
  <TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="android.service.carrier.CarrierMessagingService.onSendMultipartTextSms_added(java.util.List<java.lang.String>, int, java.lang.String, int, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>)"></A>
  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#onSendMultipartTextSms(java.util.List<java.lang.String>, int, java.lang.String, int, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>)" target="_top"><code>onSendMultipartTextSms</code></A>(<code>List&lt;String&gt;,</nobr> int<nobr>,</nobr> String<nobr>,</nobr> int<nobr>,</nobr> ResultCallback&lt;SendMultipartSmsResult&gt;<nobr><nobr></code>)</nobr>
  </TD>
  <TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="android.service.carrier.CarrierMessagingService.onSendMultipartTextSms_added(java.util.List<java.lang.String>, int, java.lang.String, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>)"></A>
  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#onSendMultipartTextSms(java.util.List<java.lang.String>, int, java.lang.String, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>)" target="_top"><code>onSendMultipartTextSms</code></A>(<code>List&lt;String&gt;,</nobr> int<nobr>,</nobr> String<nobr>,</nobr> ResultCallback&lt;SendMultipartSmsResult&gt;<nobr><nobr></code>)</nobr>
  </TD>
  <TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="android.service.carrier.CarrierMessagingService.onSendTextSms_added(java.lang.String, int, java.lang.String, int, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>)"></A>
  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#onSendTextSms(java.lang.String, int, java.lang.String, int, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>)" target="_top"><code>onSendTextSms</code></A>(<code>String,</nobr> int<nobr>,</nobr> String<nobr>,</nobr> int<nobr>,</nobr> ResultCallback&lt;SendSmsResult&gt;<nobr><nobr></code>)</nobr>
  </TD>
  <TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="android.service.carrier.CarrierMessagingService.onSendTextSms_added(java.lang.String, int, java.lang.String, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>)"></A>
  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#onSendTextSms(java.lang.String, int, java.lang.String, android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>)" target="_top"><code>onSendTextSms</code></A>(<code>String,</nobr> int<nobr>,</nobr> String<nobr>,</nobr> ResultCallback&lt;SendSmsResult&gt;<nobr><nobr></code>)</nobr>
  </TD>
  <TD>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<a NAME="fields"></a>
<p>
<a NAME="Added"></a>
<TABLE summary="Added Fields" WIDTH="100%">
<TR>
  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
</TH>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="android.service.carrier.CarrierMessagingService.SEND_FLAG_REQUEST_DELIVERY_STATUS"></A>
  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#SEND_FLAG_REQUEST_DELIVERY_STATUS" target="_top"><code>SEND_FLAG_REQUEST_DELIVERY_STATUS</code></A></nobr>
  </TD>
  <TD>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
      </div>	
      <div id="footer">
        <div id="copyright">
        Except as noted, this content is licensed under 
        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
        For details and restrictions, see the <a href="/license.html">Content License</a>.
        </div>
      <div id="footerlinks">
      <p>
        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
      </p>
    </div>
    </div> <!-- end footer -->
    </div><!-- end doc-content -->
    </div> <!-- end body-content --> 
<script src="https://www.google-analytics.com/ga.js" type="text/javascript"></script>
<script type="text/javascript">
  try {
    var pageTracker = _gat._getTracker("UA-5831155-1");
    pageTracker._setAllowAnchor(true);
    pageTracker._initData();
    pageTracker._trackPageview();
  } catch(e) {}
</script>
</BODY>
</HTML>
