<!DOCTYPE html>



































































































<html>
<head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" />

<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<title>ChannelApi | Android Developers</title>

<!-- STYLESHEETS -->
<link rel="stylesheet"
href="//fonts.googleapis.com/css?family=Roboto+Condensed">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
  title="roboto">
<link href="/assets/css/default.css?v=5" rel="stylesheet" type="text/css">



<!-- JAVASCRIPT -->
<script src="//www.google.com/jsapi" type="text/javascript"></script>
<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
<script type="text/javascript">
  var toRoot = "/";
  var metaTags = [];
  var devsite = false;
</script>
<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>



<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-5831155-1', 'android.com');
  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
  ga('send', 'pageview');
  ga('universal.send', 'pageview'); // Send page view for new tracker.
</script>

</head>

<body class="gc-documentation google
  develop reference" itemscope itemtype="http://schema.org/Article">
  <div id="doc-api-level" class="" style="display:none"></div>
  <a name="top"></a>


<a name="top"></a>

<!-- dialog to prompt lang pref change when loaded from hardcoded URL
<div id="langMessage" style="display:none">
  <div>
    <div class="lang en">
      <p>You requested a page in English, would you like to proceed with this language setting?</p>
    </div>
    <div class="lang es">
      <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang ja">
      <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang ko">
      <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang ru">
      <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang zh-cn">
      <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang zh-tw">
      <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
    </div>
    <a href="#" class="button yes" onclick="return false;">
      <span class="lang en">Yes</span>
      <span class="lang es">Sí</span>
      <span class="lang ja">Yes</span>
      <span class="lang ko">Yes</span>
      <span class="lang ru">Yes</span>
      <span class="lang zh-cn">是的</span>
      <span class="lang zh-tw">没有</span>
    </a>
    <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
      <span class="lang en">No</span>
      <span class="lang es">No</span>
      <span class="lang ja">No</span>
      <span class="lang ko">No</span>
      <span class="lang ru">No</span>
      <span class="lang zh-cn">没有</span>
      <span class="lang zh-tw">没有</span>
    </a>
  </div>
</div> -->


  <!-- Header -->
  <div id="header-wrapper">
    <div id="header">




      <div class="wrap" id="header-wrap">
        <div class="col-3 logo">
          <a href="/index.html">
            <img src="/assets/images/dac_logo.png"
                srcset="/assets/images/dac_logo@2x.png 2x"
                width="123" height="25" alt="Android Developers" />
          </a>
          <div class="btn-quicknav" id="btn-quicknav">
            <a href="#" class="arrow-inactive">Quicknav</a>
            <a href="#" class="arrow-active">Quicknav</a>
          </div>
        </div>
        <ul class="nav-x col-9">
            <li class="design">
              <a href="/design/index.html"
              zh-tw-lang="設計"
              zh-cn-lang="设计"
              ru-lang="Проектирование"
              ko-lang="디자인"
              ja-lang="設計"
              es-lang="Diseñar"
              >Design</a></li>
            <li class="develop"><a href="/develop/index.html"
              zh-tw-lang="開發"
              zh-cn-lang="开发"
              ru-lang="Разработка"
              ko-lang="개발"
              ja-lang="開発"
              es-lang="Desarrollar"
              >Develop</a></li>
            <li class="distribute last"><a href="/distribute/index.html"
              zh-tw-lang="發佈"
              zh-cn-lang="分发"
              ru-lang="Распространение"
              ko-lang="배포"
              ja-lang="配布"
              es-lang="Distribuir"
              >Distribute</a></li>
        </ul>




<div class="menu-container">
  <div class="moremenu">
    <div id="more-btn"></div>
  </div>
  <div class="morehover" id="moremenu">
    <div class="top"></div>
    <div class="mid">
      <div class="header">Links</div>
      <ul>
        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
        <li><a href="/about/index.html">About Android</a></li>
      </ul>
      <div class="header">Android Sites</div>
      <ul>
        <li><a href="http://www.android.com">Android.com</a></li>
        <li class="active"><a>Android Developers</a></li>
        <li><a href="http://source.android.com">Android Open Source Project</a></li>
      </ul>



        <div class="header">Language</div>
          <div id="language" class="locales">
            <select name="language" onChange="changeLangPref(this.value, true)">
                <option value="en">English</option>
                <option value="es">Español</option>
                <option value="ja">日本語</option>
                <option value="ko">한국어</option>
                <option value="ru">Русский</option>
                <option value="zh-cn">中文（简体)</option>
                <option value="zh-tw">中文（繁體)</option>
            </select>
          </div>
        <script type="text/javascript">
          <!--
          loadLangPref();
            //-->
        </script>


      <br class="clearfix" />
    </div><!-- end 'mid' -->
    <div class="bottom"></div>
  </div><!-- end 'moremenu' -->

  <div class="search" id="search-container">
    <div class="search-inner">
      <div id="search-btn"></div>
      <div class="left"></div>
      <form onsubmit="return submit_search()">
        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
          onkeydown="return search_changed(event, true, '/')"
          onkeyup="return search_changed(event, false, '/')" />
      </form>
      <div class="right"></div>
      <a class="close hide">close</a>
      <div class="left"></div>
      <div class="right"></div>
    </div><!-- end search-inner -->
  </div><!-- end search-container -->

  <div class="search_filtered_wrapper reference">
    <div class="suggest-card reference no-display">
      <ul class="search_filtered">
      </ul>
    </div>
  </div>

  <div class="search_filtered_wrapper docs">
    <div class="suggest-card dummy no-display">&nbsp;</div>
    <div class="suggest-card develop no-display">
      <ul class="search_filtered">
      </ul>
      <div class="child-card guides no-display">
      </div>
      <div class="child-card training no-display">
      </div>
      <div class="child-card samples no-display">
      </div>
    </div>
    <div class="suggest-card design no-display">
      <ul class="search_filtered">
      </ul>
    </div>
    <div class="suggest-card distribute no-display">
      <ul class="search_filtered">
      </ul>
    </div>
  </div>
</div><!-- end menu-container (search and menu widget) -->



        <!-- Expanded quicknav -->
        <div id="quicknav" class="col-13">
          <ul>
            <li class="about">
              <ul>
                <li><a href="/about/index.html">About</a></li>
                <li><a href="/wear/index.html">Wear</a></li>
                <li><a href="/tv/index.html">TV</a></li>
                <li><a href="/auto/index.html">Auto</a></li>
              </ul>
            </li>
            <li class="design">
              <ul>
                <li><a href="/design/index.html">Get Started</a></li>
                <li><a href="/design/devices.html">Devices</a></li>
                <li><a href="/design/style/index.html">Style</a></li>
                <li><a href="/design/patterns/index.html">Patterns</a></li>
                <li><a href="/design/building-blocks/index.html">Building Blocks</a></li>
                <li><a href="/design/downloads/index.html">Downloads</a></li>
                <li><a href="/design/videos/index.html">Videos</a></li>
              </ul>
            </li>
            <li class="develop">
              <ul>
                <li><a href="/training/index.html"
                  zh-tw-lang="訓練課程"
                  zh-cn-lang="培训"
                  ru-lang="Курсы"
                  ko-lang="교육"
                  ja-lang="トレーニング"
                  es-lang="Capacitación"
                  >Training</a></li>
                <li><a href="/guide/index.html"
                  zh-tw-lang="API 指南"
                  zh-cn-lang="API 指南"
                  ru-lang="Руководства по API"
                  ko-lang="API 가이드"
                  ja-lang="API ガイド"
                  es-lang="Guías de la API"
                  >API Guides</a></li>
                <li><a href="/reference/packages.html"
                  zh-tw-lang="參考資源"
                  zh-cn-lang="参考"
                  ru-lang="Справочник"
                  ko-lang="참조문서"
                  ja-lang="リファレンス"
                  es-lang="Referencia"
                  >Reference</a></li>
                <li><a href="/sdk/index.html"
                  zh-tw-lang="相關工具"
                  zh-cn-lang="工具"
                  ru-lang="Инструменты"
                  ko-lang="도구"
                  ja-lang="ツール"
                  es-lang="Herramientas"
                  >Tools</a>
                </li>
                <li><a href="/google/index.html">Google Services</a>
                </li>

                  <li><a href="/samples/index.html">Samples</a>
                  </li>

              </ul>
            </li>
            <li class="distribute last">
              <ul>
                <li><a href="/distribute/googleplay/index.html">Google Play</a></li>
                <li><a href="/distribute/essentials/index.html">Essentials</a></li>
                <li><a href="/distribute/users/index.html">Get Users</a></li>
                <li><a href="/distribute/engage/index.html">Engage &amp; Retain</a></li>
                <li><a href="/distribute/monetize/index.html">Monetize</a></li>
                <li><a href="/distribute/analyze/index.html">Analyze</a></li>
                <li><a href="/distribute/tools/index.html">Tools &amp; Reference</a></li>
                <li><a href="/distribute/stories/index.html">Developer Stories</a></li>
              </ul>
            </li>
          </ul>
        </div><!-- /Expanded quicknav -->
      </div><!-- end header-wrap.wrap -->
    </div><!-- end header -->


    <!-- Secondary x-nav -->
    <div id="nav-x">
        <div class="wrap" style="position:relative;z-index:1">





            <ul class="nav-x col-9 develop" style="width:100%">
                <li class="training"><a href="/training/index.html"
                  zh-tw-lang="訓練課程"
                  zh-cn-lang="培训"
                  ru-lang="Курсы"
                  ko-lang="교육"
                  ja-lang="トレーニング"
                  es-lang="Capacitación"
                  >Training</a></li>
                <li class="guide"><a href="/guide/index.html"
                  zh-tw-lang="API 指南"
                  zh-cn-lang="API 指南"
                  ru-lang="Руководства по API"
                  ko-lang="API 가이드"
                  ja-lang="API ガイド"
                  es-lang="Guías de la API"
                  >API Guides</a></li>
                <li class="reference"><a href="/reference/packages.html"
                  zh-tw-lang="參考資源"
                  zh-cn-lang="参考"
                  ru-lang="Справочник"
                  ko-lang="참조문서"
                  ja-lang="リファレンス"
                  es-lang="Referencia"
                  >Reference</a></li>
                <li class="tools"><a href="/sdk/index.html"
                  zh-tw-lang="相關工具"
                  zh-cn-lang="工具"
                  ru-lang="Инструменты"
                  ko-lang="도구"
                  ja-lang="ツール"
                  es-lang="Herramientas"
                  >Tools</a></li>
                <li class="google"><a href="/google/index.html"
                  >Google Services</a>
                </li>

                  <li class="samples"><a href="/samples/index.html"
                    >Samples</a>
                  </li>

            </ul>
        </div>
    </div>
    <!-- /Sendondary x-nav DEVELOP -->



    <div id="searchResults" class="wrap" style="display:none;">
      <h2 id="searchTitle">Results</h2>
      <div id="leftSearchControl" class="search-control">Loading...</div>
    </div>
  </div> <!--end header-wrapper -->

  <div id="sticky-header">
    <div>
      <a class="logo" href="#top"></a>
      <a class="top" href="#top"></a>
      <ul class="breadcrumb">

        <li class="current">ChannelApi</li>
      </ul>
    </div>
  </div>






  <div class="wrap clearfix" id="body-content">
    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
      <div id="devdoc-nav" class="scroll-pane">



<ul id="nav">

  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/index.html">
          <span class="en">Overview</span>
      </a></div>
  </li>

  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/games.html">
          <span class="en">Games</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/location.html">
          <span class="en">Location</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
          <span class="en">Google+</span>
                </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
          <span class="en">Maps</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
          <span class="en">Drive</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
          <span class="en">Cast</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play-services/ads.html">
      <span class="en">Ads</span></a>
    </div>
    <ul>
      <li><a href="/google/play-services/id.html">
          <span class="en">Advertising ID</span></a>
      </li>
    </ul>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
          <span class="en">Wallet</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play/safetynet/index.html">
          <span class="en">SafetyNet</span>
      </a></div>
      <ul>
        <li>
          <a href="/google/play/safetynet/start.html">
            <span class="en">Getting Started</span>
          </a>
        </li>
      </ul>
  </li>

  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play-services/index.html">
      <span class="en">Google Play Services</span></a>
    </div>
    <ul>
      <li><a href="/google/play-services/setup.html">
          <span class="en">Setting Up Google Play Services</span></a>
      </li>
      <li class="nav-section">
        <div class="nav-section-header"><a href="/google/auth/api-client.html">
          <span class="en">Accessing Google APIs</span></a>
        </div>
        <ul>
          <li>
            <a href="/google/auth/http-auth.html">
              <span class="en">Authorizing with Google for REST APIs</span>
            </a>
          </li>
        </ul>
      </li>
      <li id="gms-tree-list" class="nav-section">
        <div class="nav-section-header">
          <a href="/reference/gms-packages.html">
            <span class="en">Reference</span>
          </a>
        <div>
      </li>
    </ul>
  </li>


  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
      <span class="en">Google Play In-app Billing</span></a>
    </div>
    <ul>
      <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
              <span class="en">Overview</span></a>
      </li>
      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
              <span class="en">Version 3 API</span></a></div>
              <ul>
              <li><a href="/google/play/billing/billing_integrate.html">
              <span class="en">Implementing the API</span></a></li>
              <li><a href="/google/play/billing/billing_reference.html">
              <span class="en">Reference</span></a></li>
              </ul>
      </li>
      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
              <span class="en">Version 2 API</span></a></div>
              <ul>
              <li><a href="/google/play/billing/v2/billing_integrate.html">
              <span class="en">Implementing the API</span></a></li>
              <li><a href="/google/play/billing/v2/billing_subscriptions.html">
              <span class="en">Subscriptions</span></a></li>
              <li><a href="/google/play/billing/v2/billing_reference.html">
              <span class="en">Reference</span></a></li>
              </ul>
      </li>
      <li><a href="/google/play/billing/billing_subscriptions.html">
              <span class="en">Subscriptions</span></a>
      </li>
      <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
              <span class="en">Security and Design</span></a>
      </li>
      <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
              <span class="en">Testing In-app Billing</span></a>
      </li>
      <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
              <span class="en">Administering In-app Billing</span></a>
      </li>
      <li><a href="/google/play/billing/versions.html">
              <span class="en">Version Notes</span></a>
      </li>
    </ul>
  </li>



   <li class="nav-section">
      <div class="nav-section-header"><a href="/google/gcm/index.html">
        <span class="en">Google Cloud Messaging</span></a>
      </div>
      <ul>
        <li><a href="/google/gcm/gcm.html">
            <span class="en">Overview</span></a>
        </li>
        <li><a href="/google/gcm/gs.html">
            <span class="en">Getting Started</span></a>
        </li>
        <li><a href="/google/gcm/client.html">
            <span class="en">Implementing GCM Client</span></a>
        </li>
        <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
              <span class="en">Implementing GCM Server</span></a></div>
              <ul>
              <li><a href="/google/gcm/ccs.html">
              <span class="en">CCS (XMPP)</span></a></li>
              <li><a href="/google/gcm/http.html">
              <span class="en">HTTP</span></a></li>
              </ul>
        </li>
        <li><a href="/google/gcm/server-ref.html">
            <span class="en">Server Reference</span></a>
        </li>
        <li><a href="/google/gcm/notifications.html">
              <span class="en">User Notifications</span></a>
        </li>
        <li><a href="/google/gcm/c2dm.html">
            <span class="en">Migration</span></a>
        </li>
      </ul>
  </li>

  <li class="nav-section">
  <div class="nav-section-header empty"><a href="/google/gcs/index.html">
        <span class="en">Google Cloud Save</span></a>
      </div>
  </li>

  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play/dist.html">
      <span class="en">Google Play Distribution</span></a>
    </div>
    <ul>
      <li><a href="/google/play/filters.html">
          <span class="en">Filters on Google Play</span></a>
      </li>
      <li><a href="/google/play/billing/gp-purchase-status-api.html">
              <span class="en">Google Play Developer API</span></a>
      </li>
      <li><a href="/google/play/publishing/multiple-apks.html">
          <span class="en">Multiple APK Support</span></a>
      </li>
      <li><a href="/google/play/expansion-files.html">
          <span class="en">APK Expansion Files</span></a>
      </li>
      <li class="nav-section">
        <div class="nav-section-header"><a href="/google/play/licensing/index.html">
          <span class="en">Application Licensing</span></a>
        </div>
        <ul>
          <li><a href="/google/play/licensing/overview.html">
              <span class="en">Licensing Overview</span></a>
          </li>
          <li><a href="/google/play/licensing/setting-up.html">
              <span class="en">Setting Up for Licensing</span></a>
          </li>
          <li><a href="/google/play/licensing/adding-licensing.html">
              <span class="en">Adding Licensing to Your App</span></a>
          </li>
          <li><a href="/google/play/licensing/licensing-reference.html">
              <span class="en">Licensing Reference</span></a>
          </li>
        </ul>
      </li>

  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/backup/index.html">
      Android Backup Service</a>
    </div>
    <ul>
      <li><a href="/google/backup/signup.html">
          Register</a>
      </li>
    </ul>
  </li>

  </ul>

</li>



</ul>

<script type="text/javascript">
<!--
    buildToggleLists();
    changeNavLang(getLangPref());
//-->
</script>




      </div>
      <script type="text/javascript">
       showGoogleRefTree();

      </script>
    </div> <!-- end side-nav -->
    <script>
      $(document).ready(function() {
        scrollIntoView("devdoc-nav");
        });
    </script>






<div class="col-12"  id="doc-col">

<div id="api-info-block">




<div class="sum-details-links">

</div><!-- end sum-details-links -->
<div class="api-level">




</div>
</div><!-- end api-info-block -->


<!-- ======== START OF CLASS DATA ======== -->

<div id="jd-header">
    public



    interface
<h1 itemprop="name">ChannelApi</h1>











</div><!-- end header -->

<div id="naMessage"></div>

<div id="jd-content" class="api apilevel-">
<table class="jd-inheritance-table">


    <tr>

        <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.wearable.ChannelApi</td>
    </tr>


</table>







<div class="jd-descr">


<h2>Class Overview</h2>
<p itemprop="articleBody">Client interface for Wearable Channel API. Allows apps on a wearable device to send and receive
 data from other wearable nodes.

 <p>Channels are bidirectional. Each side, both the initiator and the receiver may both read and
 write to the channel by using <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getOutputStream(com.google.android.gms.common.api.GoogleApiClient)">getOutputStream(GoogleApiClient)</a></code> and
 <code><a href="/reference/com/google/android/gms/wearable/Channel.html#getInputStream(com.google.android.gms.common.api.GoogleApiClient)">getInputStream(GoogleApiClient)</a></code>. Once a channel is established, the API
 for the initiator and receiver are identical.

 <p>Channels are only available when the wearable nodes are connected. When the remote node
 disconnects, all existing channels will be closed. Any listeners (added through
 <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelListener)</a></code> and any installed
 <code><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html">WearableListenerService</a></code>) will be notified of the channel closing.
</p>





</div><!-- jd-descr -->
















<div class="jd-descr">


<h2>Summary</h2>



<!-- ======== NESTED CLASS SUMMARY ======== -->
<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>



    <tr class="alt-color api apilevel-" >
      <td class="jd-typecol"><nobr>




        interface</nobr></td>
      <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a></td>
      <td class="jd-descrcol" width="100%">
        A listener which will be notified on changes to channels.&nbsp;



      </td>
    </tr>


    <tr class=" api apilevel-" >
      <td class="jd-typecol"><nobr>




        @interface</nobr></td>
      <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.CloseReason.html">ChannelApi.CloseReason</a></td>
      <td class="jd-descrcol" width="100%">
        An annotation for values passed to <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html#onChannelClosed(com.google.android.gms.wearable.Channel, int, int)">onChannelClosed(Channel, int, int)</a></code>, and other methods
 on the <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a></code> interface.&nbsp;



      </td>
    </tr>


    <tr class="alt-color api apilevel-" >
      <td class="jd-typecol"><nobr>




        interface</nobr></td>
      <td class="jd-linkcol"><a href="/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html">ChannelApi.OpenChannelResult</a></td>
      <td class="jd-descrcol" width="100%">
        Result of <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#openChannel(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String)">openChannel(GoogleApiClient, String, String)</a></code>.&nbsp;



      </td>
    </tr>





























<!-- ========== METHOD SUMMARY =========== -->
<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>




    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract




            <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a>&lt;<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</nobr>

        <div class="jd-descrdiv">
          Registers a listener to be notified of channel events.



        </div>

  </td></tr>



    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract




            <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a>&lt;<a href="/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html">ChannelApi.OpenChannelResult</a>&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#openChannel(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String)">openChannel</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String nodeId, String path)</nobr>

        <div class="jd-descrdiv">
          Opens a channel to exchange data with a remote node.



        </div>

  </td></tr>



    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract




            <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a>&lt;<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">removeListener</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</nobr>

        <div class="jd-descrdiv">
          Removes a listener which was previously added through
 <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelListener)</a></code>.



        </div>

  </td></tr>



</table>







</div><!-- jd-descr (summary) -->

<!-- Details -->








<!-- XML Attributes -->


<!-- Enum Values -->


<!-- Constants -->


<!-- Fields -->


<!-- Public ctors -->



<!-- ========= CONSTRUCTOR DETAIL ======== -->
<!-- Protected ctors -->



<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->

<h2>Public Methods</h2>



<A NAME="addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public


        abstract

        <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a>&lt;<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>&gt;
      </span>
      <span class="sympad">addListener</span>
      <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p>Registers a listener to be notified of channel events. Calls to this method should
 balanced with <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">removeListener(GoogleApiClient, ChannelListener)</a></code> to avoid leaking
 resources.

 <p>Callers wishing to be notified of events in the background should use
 <code><a href="/reference/com/google/android/gms/wearable/WearableListenerService.html">WearableListenerService</a></code>.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>client</td>
          <td>a connected client</td>
        </tr>
        <tr>
          <th>listener</td>
          <td>a listener which will be notified of changes to any channel
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="openChannel(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.String)"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public


        abstract

        <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a>&lt;<a href="/reference/com/google/android/gms/wearable/ChannelApi.OpenChannelResult.html">ChannelApi.OpenChannelResult</a>&gt;
      </span>
      <span class="sympad">openChannel</span>
      <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, String nodeId, String path)</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p>Opens a channel to exchange data with a remote node.

 <p>Channel which are no longer needed should be closed using
 <code><a href="/reference/com/google/android/gms/wearable/Channel.html#close(com.google.android.gms.common.api.GoogleApiClient)">close(GoogleApiClient)</a></code>.

 <p>This call involves a network round trip, so may be long running. <code>client</code> must
 remain connected during that time, or the request will be cancelled (like any other Play
 Services API calls).</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>client</td>
          <td>a connected client</td>
        </tr>
        <tr>
          <th>nodeId</td>
          <td>the node ID of a wearable node, as returned from
        <code><a href="/reference/com/google/android/gms/wearable/NodeApi.html#getConnectedNodes(com.google.android.gms.common.api.GoogleApiClient)">getConnectedNodes(GoogleApiClient)</a></code></td>
        </tr>
        <tr>
          <th>path</td>
          <td>an app-specific identifier for the channel
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public


        abstract

        <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a>&lt;<a href="/reference/com/google/android/gms/common/api/Status.html">Status</a>&gt;
      </span>
      <span class="sympad">removeListener</span>
      <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">ChannelApi.ChannelListener</a> listener)</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p>Removes a listener which was previously added through
 <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelListener)</a></code>.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>client</td>
          <td>a connected client</td>
        </tr>
        <tr>
          <th>listener</td>
          <td>a listener which was added using
         <code><a href="/reference/com/google/android/gms/wearable/ChannelApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.ChannelApi.ChannelListener)">addListener(GoogleApiClient, ChannelListener)</a></code>
</td>
        </tr>
      </table>
  </div>

    </div>
</div>





<!-- ========= METHOD DETAIL ======== -->



<!-- ========= END OF CLASS DATA ========= -->
<A NAME="navbar_top"></A>

<div id="footer" class="wrap" >


  <div id="copyright">

  Except as noted, this content is licensed under <a
  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
  For details and restrictions, see the <a href="/license.html">
  Content License</a>.
  </div>
  <div id="build_info">

<script src="/timestamp.js" type="text/javascript"></script>
<script>document.write(BUILD_TIMESTAMP)</script>

  </div>


  <div id="footerlinks">

  <p>
    <a href="/about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
    <a href="/legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
    <a href="/support.html">Support</a>
  </p>
  </div>

</div> <!-- end footer -->
</div> <!-- jd-content -->

</div><!-- end doc-content -->

</div> <!-- end body-content -->






</body>
</html>
