<!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>com.google.android.gms.fitness | 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=4" 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">
  <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/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">com.google.android.gms.fitness</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-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">
      <span class="en">Google Play In-app Billing</span></a>
    </div>
    <ul>
      <li><a href="/google/play/billing/billing_overview.html">
              <span class="en">Overview</span></a>
      </li>
      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html">
              <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">
              <span class="en">Security and Design</span></a>
      </li>
      <li><a href="/google/play/billing/billing_testing.html">
              <span class="en">Testing In-app Billing</span></a>
      </li>
      <li><a href="/google/play/billing/billing_admin.html">
              <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/notifications.html">
              <span class="en">User Notifications</span></a>
        </li>
        <li><a href="/google/gcm/adv.html">
            <span class="en">Advanced Topics</span></a>
        </li>
        <li><a href="/google/gcm/c2dm.html">
            <span class="en">Migration</span></a>
        </li>
        <li id="gcm-tree-list" class="nav-section">
          <div class="nav-section-header">
            <a href="/reference/gcm-packages.html">
              <span class="en">Reference</span>
            </a>
          <div>
        </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="api-level">
  
  
  

</div>
</div>

<div id="jd-header">
  package
  <h1>com.google.android.gms.fitness</h1>
</div><!-- end header -->

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

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


  <div class="jd-descr">
    Contains the Google Fit APIs.

  </div>





  


  
    <h2>Interfaces</h2>
    <div class="jd-sumtable">
    
  
  <table class="jd-sumtable-expando">
    
      <tr class="alt-color api apilevel-" >
        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/BleApi.html">BleApi</a></td>
        <td class="jd-descrcol" width="100%">
          API for scanning, claiming, and using Bluetooth Low Energy devices in Google Fit.&nbsp;
          
    

        </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/ConfigApi.html">ConfigApi</a></td>
        <td class="jd-descrcol" width="100%">
          API for accessing custom data types and settings in Google Fit.&nbsp;
          
    

        </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/HistoryApi.html">HistoryApi</a></td>
        <td class="jd-descrcol" width="100%">
          API for inserting, deleting, and reading data in Google Fit.&nbsp;
          
    

        </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/RecordingApi.html">RecordingApi</a></td>
        <td class="jd-descrcol" width="100%">
          API which enables low-power, always-on background collection of sensor
 data into the Google Fit store.&nbsp;
          
    

        </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/SensorsApi.html">SensorsApi</a></td>
        <td class="jd-descrcol" width="100%">
          API which exposes different sources of fitness data in local and connected devices,
 and delivers live events to listeners.&nbsp;
          
    

        </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/SessionsApi.html">SessionsApi</a></td>
        <td class="jd-descrcol" width="100%">
          API for creating and managing <code><a href="/reference/com/google/android/gms/fitness/data/Session.html">sessions</a></code> of user activity in Google Fit.&nbsp;
          
    

        </td>
      </tr>
      
    
  </table>

    </div>
  


  
    <h2>Classes</h2>
    <div class="jd-sumtable">
    
  
  <table class="jd-sumtable-expando">
    
      <tr class="alt-color api apilevel-" >
        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/Fitness.html">Fitness</a></td>
        <td class="jd-descrcol" width="100%">
          The main entry point to Google Fit APIs.&nbsp;
          
    

        </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/FitnessActivities.html">FitnessActivities</a></td>
        <td class="jd-descrcol" width="100%">
          Constants representing different user activities, such as walking, running, and cycling.&nbsp;
          
    

        </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/FitnessStatusCodes.html">FitnessStatusCodes</a></td>
        <td class="jd-descrcol" width="100%">
          Google Fit specific status codes, for use in <code><a href="/reference/com/google/android/gms/common/api/Status.html#getStatusCode()">getStatusCode()</a></code>
&nbsp;
          
    

        </td>
      </tr>
      
    
      <tr class=" api apilevel-" >
        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/HistoryApi.ViewIntentBuilder.html">HistoryApi.ViewIntentBuilder</a></td>
        <td class="jd-descrcol" width="100%">
          Builder of intents to view data stored in Google Fit.&nbsp;
          
    

        </td>
      </tr>
      
    
      <tr class="alt-color api apilevel-" >
        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/fitness/SessionsApi.ViewIntentBuilder.html">SessionsApi.ViewIntentBuilder</a></td>
        <td class="jd-descrcol" width="100%">
          Builder of intents to view <code><a href="/reference/com/google/android/gms/fitness/data/Session.html">sessions</a></code> stored in Google Fit.&nbsp;
          
    

        </td>
      </tr>
      
    
  </table>

    </div>
  


  


  


  


<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><!-- end jd-content -->
</div><!-- doc-content -->

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






</body>
</html>
