• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87<html>
88<head>
89
90
91<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
92<meta name="viewport" content="width=device-width" />
93
94<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
95<title>SensorsApi | Android Developers</title>
96
97<!-- STYLESHEETS -->
98<link rel="stylesheet"
99href="//fonts.googleapis.com/css?family=Roboto+Condensed">
100<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
101  title="roboto">
102<link href="/assets/css/default.css?v=2" rel="stylesheet" type="text/css">
103
104
105
106<!-- JAVASCRIPT -->
107<script src="//www.google.com/jsapi" type="text/javascript"></script>
108<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
109<script type="text/javascript">
110  var toRoot = "/";
111  var metaTags = [];
112  var devsite = false;
113</script>
114<script src="/assets/js/docs.js?v=2" type="text/javascript"></script>
115
116<script>
117  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
118  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
119  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
120  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
121
122  ga('create', 'UA-5831155-1', 'android.com');
123  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
124  ga('send', 'pageview');
125  ga('universal.send', 'pageview'); // Send page view for new tracker.
126</script>
127
128</head>
129
130<body class="gc-documentation google
131  develop" itemscope itemtype="http://schema.org/Article">
132  <div id="doc-api-level" class="" style="display:none"></div>
133  <a name="top"></a>
134
135
136<a name="top"></a>
137
138  <!-- Header -->
139  <div id="header-wrapper">
140    <div id="header">
141      <div class="wrap" id="header-wrap">
142        <div class="col-3 logo">
143          <a href="/index.html">
144            <img src="/assets/images/dac_logo.png"
145                srcset="/assets/images/dac_logo@2x.png 2x"
146                width="123" height="25" alt="Android Developers" />
147          </a>
148          <div class="btn-quicknav" id="btn-quicknav">
149            <a href="#" class="arrow-inactive">Quicknav</a>
150            <a href="#" class="arrow-active">Quicknav</a>
151          </div>
152        </div>
153        <ul class="nav-x col-9">
154            <li class="design">
155              <a href="/design/index.html"
156              zh-tw-lang="設計"
157              zh-cn-lang="设计"
158              ru-lang="Проектирование"
159              ko-lang="디자인"
160              ja-lang="設計"
161              es-lang="Diseñar"
162              >Design</a></li>
163            <li class="develop"><a href="/develop/index.html"
164              zh-tw-lang="開發"
165              zh-cn-lang="开发"
166              ru-lang="Разработка"
167              ko-lang="개발"
168              ja-lang="開発"
169              es-lang="Desarrollar"
170              >Develop</a></li>
171            <li class="distribute last"><a href="/distribute/index.html"
172              zh-tw-lang="發佈"
173              zh-cn-lang="分发"
174              ru-lang="Распространение"
175              ko-lang="배포"
176              ja-lang="配布"
177              es-lang="Distribuir"
178              >Distribute</a></li>
179        </ul>
180
181
182
183
184<div class="menu-container">
185  <div class="moremenu">
186    <div id="more-btn"></div>
187  </div>
188  <div class="morehover" id="moremenu">
189    <div class="top"></div>
190    <div class="mid">
191      <div class="header">Links</div>
192      <ul>
193        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
194        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
195        <li><a href="/about/index.html">About Android</a></li>
196      </ul>
197      <div class="header">Android Sites</div>
198      <ul>
199        <li><a href="http://www.android.com">Android.com</a></li>
200        <li class="active"><a>Android Developers</a></li>
201        <li><a href="http://source.android.com">Android Open Source Project</a></li>
202      </ul>
203
204
205
206        <div class="header">Language</div>
207          <div id="language" class="locales">
208            <select name="language" onChange="changeLangPref(this.value, true)">
209                <option value="en">English</option>
210                <option value="es">Español</option>
211                <option value="ja">日本語</option>
212                <option value="ko">한국어</option>
213                <option value="ru">Русский</option>
214                <option value="zh-cn">中文 (中国)</option>
215                <option value="zh-tw">中文 (台灣)</option>
216            </select>
217          </div>
218        <script type="text/javascript">
219          <!--
220          loadLangPref();
221            //-->
222        </script>
223
224
225      <br class="clearfix" />
226    </div><!-- end 'mid' -->
227    <div class="bottom"></div>
228  </div><!-- end 'moremenu' -->
229
230  <div class="search" id="search-container">
231    <div class="search-inner">
232      <div id="search-btn"></div>
233      <div class="left"></div>
234      <form onsubmit="return submit_search()">
235        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
236          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
237          onkeydown="return search_changed(event, true, '/')"
238          onkeyup="return search_changed(event, false, '/')" />
239      </form>
240      <div class="right"></div>
241      <a class="close hide">close</a>
242      <div class="left"></div>
243      <div class="right"></div>
244    </div><!-- end search-inner -->
245  </div><!-- end search-container -->
246
247  <div class="search_filtered_wrapper reference">
248    <div class="suggest-card reference no-display">
249      <ul class="search_filtered">
250      </ul>
251    </div>
252  </div>
253
254  <div class="search_filtered_wrapper docs">
255    <div class="suggest-card dummy no-display">&nbsp;</div>
256    <div class="suggest-card develop no-display">
257      <ul class="search_filtered">
258      </ul>
259      <div class="child-card guides no-display">
260      </div>
261      <div class="child-card training no-display">
262      </div>
263      <div class="child-card samples no-display">
264      </div>
265    </div>
266    <div class="suggest-card design no-display">
267      <ul class="search_filtered">
268      </ul>
269    </div>
270    <div class="suggest-card distribute no-display">
271      <ul class="search_filtered">
272      </ul>
273    </div>
274  </div>
275</div><!-- end menu-container (search and menu widget) -->
276
277
278
279        <!-- Expanded quicknav -->
280        <div id="quicknav" class="col-13">
281          <ul>
282            <li class="about">
283              <ul>
284                <li><a href="/about/index.html">About</a></li>
285                <li><a href="/wear/index.html">Wear</a></li>
286                <li><a href="/tv/index.html">TV</a></li>
287                <li><a href="/auto/index.html">Auto</a></li>
288              </ul>
289            </li>
290            <li class="design">
291              <ul>
292                <li><a href="/design/index.html">Get Started</a></li>
293                <li><a href="/design/devices.html">Devices</a></li>
294                <li><a href="/design/style/index.html">Style</a></li>
295                <li><a href="/design/patterns/index.html">Patterns</a></li>
296                <li><a href="/design/building-blocks/index.html">Building Blocks</a></li>
297                <li><a href="/design/downloads/index.html">Downloads</a></li>
298                <li><a href="/design/videos/index.html">Videos</a></li>
299              </ul>
300            </li>
301            <li class="develop">
302              <ul>
303                <li><a href="/training/index.html"
304                  zh-tw-lang="訓練課程"
305                  zh-cn-lang="培训"
306                  ru-lang="Курсы"
307                  ko-lang="교육"
308                  ja-lang="トレーニング"
309                  es-lang="Capacitación"
310                  >Training</a></li>
311                <li><a href="/guide/index.html"
312                  zh-tw-lang="API 指南"
313                  zh-cn-lang="API 指南"
314                  ru-lang="Руководства по API"
315                  ko-lang="API 가이드"
316                  ja-lang="API ガイド"
317                  es-lang="Guías de la API"
318                  >API Guides</a></li>
319                <li><a href="/reference/packages.html"
320                  zh-tw-lang="參考資源"
321                  zh-cn-lang="参考"
322                  ru-lang="Справочник"
323                  ko-lang="참조문서"
324                  ja-lang="リファレンス"
325                  es-lang="Referencia"
326                  >Reference</a></li>
327                <li><a href="/sdk/index.html"
328                  zh-tw-lang="相關工具"
329                  zh-cn-lang="工具"
330                  ru-lang="Инструменты"
331                  ko-lang="도구"
332                  ja-lang="ツール"
333                  es-lang="Herramientas"
334                  >Tools</a>
335                </li>
336                <li><a href="/google/index.html">Google Services</a>
337                </li>
338
339                  <li><a href="/samples/index.html">Samples</a>
340                  </li>
341
342              </ul>
343            </li>
344            <li class="distribute last">
345              <ul>
346                <li><a href="/distribute/googleplay/index.html">Google Play</a></li>
347                <li><a href="/distribute/essentials/index.html">Essentials</a></li>
348                <li><a href="/distribute/users/index.html">Get Users</a></li>
349                <li><a href="/distribute/engage/index.html">Engage &amp; Retain</a></li>
350                <li><a href="/distribute/monetize/index.html">Monetize</a></li>
351                <li><a href="/distribute/tools/index.html">Tools &amp; Reference</a></li>
352                <li><a href="/distribute/stories/index.html">Developer Stories</a></li>
353              </ul>
354            </li>
355          </ul>
356        </div><!-- /Expanded quicknav -->
357      </div><!-- end header-wrap.wrap -->
358    </div><!-- end header -->
359
360
361    <!-- Secondary x-nav -->
362    <div id="nav-x">
363        <div class="wrap">
364            <ul class="nav-x col-9 develop" style="width:100%">
365                <li class="training"><a href="/training/index.html"
366                  zh-tw-lang="訓練課程"
367                  zh-cn-lang="培训"
368                  ru-lang="Курсы"
369                  ko-lang="교육"
370                  ja-lang="トレーニング"
371                  es-lang="Capacitación"
372                  >Training</a></li>
373                <li class="guide"><a href="/guide/index.html"
374                  zh-tw-lang="API 指南"
375                  zh-cn-lang="API 指南"
376                  ru-lang="Руководства по API"
377                  ko-lang="API 가이드"
378                  ja-lang="API ガイド"
379                  es-lang="Guías de la API"
380                  >API Guides</a></li>
381                <li class="reference"><a href="/reference/packages.html"
382                  zh-tw-lang="參考資源"
383                  zh-cn-lang="参考"
384                  ru-lang="Справочник"
385                  ko-lang="참조문서"
386                  ja-lang="リファレンス"
387                  es-lang="Referencia"
388                  >Reference</a></li>
389                <li class="tools"><a href="/sdk/index.html"
390                  zh-tw-lang="相關工具"
391                  zh-cn-lang="工具"
392                  ru-lang="Инструменты"
393                  ko-lang="도구"
394                  ja-lang="ツール"
395                  es-lang="Herramientas"
396                  >Tools</a></li>
397                <li class="google"><a href="/google/index.html"
398                  >Google Services</a>
399                </li>
400
401                  <li class="samples"><a href="/samples/index.html"
402                    >Samples</a>
403                  </li>
404
405            </ul>
406        </div>
407    </div>
408    <!-- /Sendondary x-nav DEVELOP -->
409
410
411
412    <div id="searchResults" class="wrap" style="display:none;">
413      <h2 id="searchTitle">Results</h2>
414      <div id="leftSearchControl" class="search-control">Loading...</div>
415    </div>
416  </div> <!--end header-wrapper -->
417
418  <div id="sticky-header">
419    <div>
420      <a class="logo" href="#top"></a>
421      <a class="top" href="#top"></a>
422      <ul class="breadcrumb">
423
424        <li class="current">SensorsApi</li>
425      </ul>
426    </div>
427  </div>
428
429
430
431
432
433
434  <div class="wrap clearfix" id="body-content">
435    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
436      <div id="devdoc-nav" class="scroll-pane">
437
438
439
440<ul id="nav">
441
442  <li class="nav-section">
443    <div class="nav-section-header empty"><a href="/google/index.html">
444          <span class="en">Overview</span>
445      </a></div>
446  </li>
447
448  <li class="nav-section">
449    <div class="nav-section-header empty"><a href="/google/play-services/games.html">
450          <span class="en">Games</span>
451      </a></div>
452  </li>
453  <li class="nav-section">
454    <div class="nav-section-header empty"><a href="/google/play-services/location.html">
455          <span class="en">Location</span>
456      </a></div>
457  </li>
458  <li class="nav-section">
459    <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
460          <span class="en">Google+</span>
461                </a></div>
462  </li>
463  <li class="nav-section">
464    <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
465          <span class="en">Maps</span>
466      </a></div>
467  </li>
468  <li class="nav-section">
469    <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
470          <span class="en">Drive</span>
471      </a></div>
472  </li>
473  <li class="nav-section">
474    <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
475          <span class="en">Cast</span>
476      </a></div>
477  </li>
478  <li class="nav-section">
479    <div class="nav-section-header"><a href="/google/play-services/ads.html">
480      <span class="en">Ads</span></a>
481    </div>
482    <ul>
483      <li><a href="/google/play-services/id.html">
484          <span class="en">Advertising ID</span></a>
485      </li>
486    </ul>
487  </li>
488  <li class="nav-section">
489    <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
490          <span class="en">Wallet</span>
491      </a></div>
492  </li>
493
494
495  <li class="nav-section">
496    <div class="nav-section-header"><a href="/google/play-services/index.html">
497      <span class="en">Google Play Services</span></a>
498    </div>
499    <ul>
500      <li><a href="/google/play-services/setup.html">
501          <span class="en">Setting Up Google Play Services</span></a>
502      </li>
503      <li class="nav-section">
504        <div class="nav-section-header"><a href="/google/auth/api-client.html">
505          <span class="en">Accessing Google APIs</span></a>
506        </div>
507        <ul>
508          <li>
509            <a href="/google/auth/http-auth.html">
510              <span class="en">Authorizing with Google for REST APIs</span>
511            </a>
512          </li>
513        </ul>
514      </li>
515      <li id="gms-tree-list" class="nav-section">
516        <div class="nav-section-header">
517          <a href="/reference/gms-packages.html">
518            <span class="en">Reference</span>
519          </a>
520        <div>
521      </li>
522    </ul>
523  </li>
524
525
526  <li class="nav-section">
527    <div class="nav-section-header"><a href="/google/play/billing/index.html">
528      <span class="en">Google Play In-app Billing</span></a>
529    </div>
530    <ul>
531      <li><a href="/google/play/billing/billing_overview.html">
532              <span class="en">Overview</span></a>
533      </li>
534      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html">
535              <span class="en">Version 3 API</span></a></div>
536              <ul>
537              <li><a href="/google/play/billing/billing_integrate.html">
538              <span class="en">Implementing the API</span></a></li>
539              <li><a href="/google/play/billing/billing_reference.html">
540              <span class="en">Reference</span></a></li>
541              </ul>
542      </li>
543      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
544              <span class="en">Version 2 API</span></a></div>
545              <ul>
546              <li><a href="/google/play/billing/v2/billing_integrate.html">
547              <span class="en">Implementing the API</span></a></li>
548              <li><a href="/google/play/billing/v2/billing_subscriptions.html">
549              <span class="en">Subscriptions</span></a></li>
550              <li><a href="/google/play/billing/v2/billing_reference.html">
551              <span class="en">Reference</span></a></li>
552              </ul>
553      </li>
554      <li><a href="/google/play/billing/billing_subscriptions.html">
555              <span class="en">Subscriptions</span></a>
556      </li>
557      <li><a href="/google/play/billing/billing_best_practices.html">
558              <span class="en">Security and Design</span></a>
559      </li>
560      <li><a href="/google/play/billing/billing_testing.html">
561              <span class="en">Testing In-app Billing</span></a>
562      </li>
563      <li><a href="/google/play/billing/billing_admin.html">
564              <span class="en">Administering In-app Billing</span></a>
565      </li>
566      <li><a href="/google/play/billing/versions.html">
567              <span class="en">Version Notes</span></a>
568      </li>
569    </ul>
570  </li>
571
572
573
574   <li class="nav-section">
575      <div class="nav-section-header"><a href="/google/gcm/index.html">
576        <span class="en">Google Cloud Messaging</span></a>
577      </div>
578      <ul>
579        <li><a href="/google/gcm/gcm.html">
580            <span class="en">Overview</span></a>
581        </li>
582        <li><a href="/google/gcm/gs.html">
583            <span class="en">Getting Started</span></a>
584        </li>
585        <li><a href="/google/gcm/client.html">
586            <span class="en">Implementing GCM Client</span></a>
587        </li>
588        <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
589              <span class="en">Implementing GCM Server</span></a></div>
590              <ul>
591              <li><a href="/google/gcm/ccs.html">
592              <span class="en">CCS (XMPP)</span></a></li>
593              <li><a href="/google/gcm/http.html">
594              <span class="en">HTTP</span></a></li>
595              </ul>
596        </li>
597        <li><a href="/google/gcm/notifications.html">
598              <span class="en">User Notifications</span></a>
599        </li>
600        <li><a href="/google/gcm/adv.html">
601            <span class="en">Advanced Topics</span></a>
602        </li>
603        <li><a href="/google/gcm/c2dm.html">
604            <span class="en">Migration</span></a>
605        </li>
606        <li id="gcm-tree-list" class="nav-section">
607          <div class="nav-section-header">
608            <a href="/reference/gcm-packages.html">
609              <span class="en">Reference</span>
610            </a>
611          <div>
612        </li>
613      </ul>
614  </li>
615
616  <li class="nav-section">
617  <div class="nav-section-header empty"><a href="/google/gcs/index.html">
618        <span class="en">Google Cloud Save</span></a>
619      </div>
620  </li>
621
622  <li class="nav-section">
623    <div class="nav-section-header"><a href="/google/play/dist.html">
624      <span class="en">Google Play Distribution</span></a>
625    </div>
626    <ul>
627      <li><a href="/google/play/filters.html">
628          <span class="en">Filters on Google Play</span></a>
629      </li>
630      <li><a href="/google/play/billing/gp-purchase-status-api.html">
631              <span class="en">Google Play Developer API</span></a>
632      </li>
633      <li><a href="/google/play/publishing/multiple-apks.html">
634          <span class="en">Multiple APK Support</span></a>
635      </li>
636      <li><a href="/google/play/expansion-files.html">
637          <span class="en">APK Expansion Files</span></a>
638      </li>
639      <li class="nav-section">
640        <div class="nav-section-header"><a href="/google/play/licensing/index.html">
641          <span class="en">Application Licensing</span></a>
642        </div>
643        <ul>
644          <li><a href="/google/play/licensing/overview.html">
645              <span class="en">Licensing Overview</span></a>
646          </li>
647          <li><a href="/google/play/licensing/setting-up.html">
648              <span class="en">Setting Up for Licensing</span></a>
649          </li>
650          <li><a href="/google/play/licensing/adding-licensing.html">
651              <span class="en">Adding Licensing to Your App</span></a>
652          </li>
653          <li><a href="/google/play/licensing/licensing-reference.html">
654              <span class="en">Licensing Reference</span></a>
655          </li>
656        </ul>
657      </li>
658
659  <li class="nav-section">
660    <div class="nav-section-header"><a href="/google/backup/index.html">
661      Android Backup Service</a>
662    </div>
663    <ul>
664      <li><a href="/google/backup/signup.html">
665          Register</a>
666      </li>
667    </ul>
668  </li>
669
670  </ul>
671
672</li>
673
674
675
676</ul>
677
678<script type="text/javascript">
679<!--
680    buildToggleLists();
681    changeNavLang(getLangPref());
682//-->
683</script>
684
685
686
687
688      </div>
689      <script type="text/javascript">
690       showGoogleRefTree();
691
692      </script>
693    </div> <!-- end side-nav -->
694    <script>
695      $(document).ready(function() {
696        scrollIntoView("devdoc-nav");
697        });
698    </script>
699
700
701
702
703
704
705<div class="col-12"  id="doc-col">
706
707<div id="api-info-block">
708
709
710
711
712<div class="sum-details-links">
713
714</div><!-- end sum-details-links -->
715<div class="api-level">
716
717
718
719
720</div>
721</div><!-- end api-info-block -->
722
723
724<!-- ======== START OF CLASS DATA ======== -->
725
726<div id="jd-header">
727    public
728
729
730
731    interface
732<h1 itemprop="name">SensorsApi</h1>
733
734
735
736
737
738
739
740
741</div><!-- end header -->
742
743<div id="naMessage"></div>
744
745<div id="jd-content" class="api apilevel-">
746<table class="jd-inheritance-table">
747
748
749    <tr>
750
751        <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.fitness.SensorsApi</td>
752    </tr>
753
754
755</table>
756
757
758
759
760
761
762
763<div class="jd-descr">
764
765
766<h2>Class Overview</h2>
767<p itemprop="articleBody">The Google Fit Sensors API provides methods for finding and registering to real time data streams
768 of sensor data.
769 <p>
770 The API exposes <code><a href="/reference/com/google/android/gms/fitness/data/DataSource.html">data sources</a></code> from hardware
771 sensors in the local device and in companion devices.  It also exposes data sources from
772 applications.  Data sources can be queried via
773 <code><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#findDataSources(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataSourcesRequest)">findDataSources(GoogleApiClient, com.google.android.gms.fitness.request.DataSourcesRequest)</a></code>
774 <p>
775 The API supports registering and unregistering to real time data streams from any available data
776 source.  It also allows for registering based only on the
777 <code><a href="/reference/com/google/android/gms/fitness/data/DataType.html">DataType</a></code>, in which case the best available data source
778 (or a combination of them) is used.
779 <p>
780 The Sensors API should be accessed from the <code><a href="/reference/com/google/android/gms/fitness/Fitness.html">Fitness</a></code> entry point.  Example:
781 <pre>
782     GoogleApiClient client = new GoogleApiClient.Builder(context)
783         .addApi(Fitness.API)
784         ...
785         .build();
786     client.connect();
787
788     PendingResult&lt;Status&gt; pendingResult = Fitness.SensorsApi.register(
789         client,
790         new SensorRequest.Builder()
791             .setDataType(DataTypes.STEP_COUNT_DELTA)
792             .setSamplingDelay(1, TimeUnit.MINUTES)  // sample once per minute
793             .build(),
794         myStepCountListener);
795 </pre>
796 If the application doesn't need real-time sensor updates, but instead wants persistent
797 recording of historical sensor data, for batch querying, the <code><a href="/reference/com/google/android/gms/fitness/RecordingApi.html">Recording</a></code>
798 and <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html">History</a></code> APIs and should be used instead.
799</p>
800
801
802
803
804
805</div><!-- jd-descr -->
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822<div class="jd-descr">
823
824
825<h2>Summary</h2>
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853<!-- ========== METHOD SUMMARY =========== -->
854<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
855
856
857
858
859    <tr class="alt-color api apilevel-" >
860        <td class="jd-typecol"><nobr>
861            abstract
862
863
864
865
866            <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a>&lt;<a href="/reference/com/google/android/gms/fitness/result/DataSourcesResult.html">DataSourcesResult</a>&gt;</nobr>
867        </td>
868        <td class="jd-linkcol" width="100%"><nobr>
869        <span class="sympad"><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#findDataSources(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataSourcesRequest)">findDataSources</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/DataSourcesRequest.html">DataSourcesRequest</a> request)</nobr>
870
871        <div class="jd-descrdiv">Finds all available data sources, on the device and remotely.</div>
872
873  </td></tr>
874
875
876
877    <tr class=" api apilevel-" >
878        <td class="jd-typecol"><nobr>
879            abstract
880
881
882
883
884            <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>
885        </td>
886        <td class="jd-linkcol" width="100%"><nobr>
887        <span class="sympad"><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#register(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, com.google.android.gms.fitness.request.DataSourceListener)">register</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/SensorRequest.html">SensorRequest</a> request, <a href="/reference/com/google/android/gms/fitness/request/DataSourceListener.html">DataSourceListener</a> listener)</nobr>
888
889        <div class="jd-descrdiv">Register for real time updates from a sensor data source.</div>
890
891  </td></tr>
892
893
894
895    <tr class="alt-color api apilevel-" >
896        <td class="jd-typecol"><nobr>
897            abstract
898
899
900
901
902            <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>
903        </td>
904        <td class="jd-linkcol" width="100%"><nobr>
905        <span class="sympad"><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#register(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, android.app.PendingIntent)">register</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/SensorRequest.html">SensorRequest</a> request, PendingIntent intent)</nobr>
906
907        <div class="jd-descrdiv">Register for real time updates from a sensor data source using a PendingIntent.</div>
908
909  </td></tr>
910
911
912
913    <tr class=" api apilevel-" >
914        <td class="jd-typecol"><nobr>
915            abstract
916
917
918
919
920            <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>
921        </td>
922        <td class="jd-linkcol" width="100%"><nobr>
923        <span class="sympad"><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#unregister(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataSourceListener)">unregister</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/DataSourceListener.html">DataSourceListener</a> listener)</nobr>
924
925        <div class="jd-descrdiv">Unregister from real-time updates from a sensor data source.</div>
926
927  </td></tr>
928
929
930
931    <tr class="alt-color api apilevel-" >
932        <td class="jd-typecol"><nobr>
933            abstract
934
935
936
937
938            <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>
939        </td>
940        <td class="jd-linkcol" width="100%"><nobr>
941        <span class="sympad"><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#unregister(com.google.android.gms.common.api.GoogleApiClient, android.app.PendingIntent)">unregister</a></span>(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, PendingIntent pendingIntent)</nobr>
942
943        <div class="jd-descrdiv">Unregister from updates from a sensor data source with a PendingIntent.</div>
944
945  </td></tr>
946
947
948
949</table>
950
951
952
953
954
955
956
957</div><!-- jd-descr (summary) -->
958
959<!-- Details -->
960
961
962
963
964
965
966
967
968<!-- XML Attributes -->
969
970
971<!-- Enum Values -->
972
973
974<!-- Constants -->
975
976
977<!-- Fields -->
978
979
980<!-- Public ctors -->
981
982
983
984<!-- ========= CONSTRUCTOR DETAIL ======== -->
985<!-- Protected ctors -->
986
987
988
989<!-- ========= METHOD DETAIL ======== -->
990<!-- Public methdos -->
991
992<h2>Public Methods</h2>
993
994
995
996<A NAME="findDataSources(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataSourcesRequest)"></A>
997
998<div class="jd-details api apilevel-">
999    <h4 class="jd-details-title">
1000      <span class="normal">
1001        public
1002
1003
1004        abstract
1005
1006        <a href="/reference/com/google/android/gms/common/api/PendingResult.html">PendingResult</a>&lt;<a href="/reference/com/google/android/gms/fitness/result/DataSourcesResult.html">DataSourcesResult</a>&gt;
1007      </span>
1008      <span class="sympad">findDataSources</span>
1009      <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/DataSourcesRequest.html">DataSourcesRequest</a> request)</span>
1010    </h4>
1011      <div class="api-level">
1012        <div></div>
1013
1014
1015
1016      </div>
1017    <div class="jd-details-descr">
1018
1019  <div class="jd-tagdata jd-tagdescr"><p>Finds all available data sources, on the device and remotely.  Results are returned
1020 asynchronously as a PendingResult.
1021 <p>
1022 It's not necessary to call this method if an application is interested only in getting the
1023 best available data for a data type, regardless of source.  In this case,
1024 <code><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#register(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, com.google.android.gms.fitness.request.DataSourceListener)">register(GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, com.google.android.gms.fitness.request.DataSourceListener)</a></code> can be used with a
1025 generic <code><a href="/reference/com/google/android/gms/fitness/request/SensorRequest.Builder.html#setDataType(com.google.android.gms.fitness.data.DataType)">data type</a></code>.</p></div>
1026  <div class="jd-tagdata">
1027      <h5 class="jd-tagtitle">Parameters</h5>
1028      <table class="jd-tagtable">
1029        <tr>
1030          <th>client</td>
1031          <td>an existing GoogleApiClient.  It does not need to be connected at the time of
1032     this call, but the find operation will be delayed until the connection is complete.</td>
1033        </tr>
1034        <tr>
1035          <th>request</td>
1036          <td>a built request specifying the data sources we’re interested in finding</td>
1037        </tr>
1038      </table>
1039  </div>
1040  <div class="jd-tagdata">
1041      <h5 class="jd-tagtitle">Returns</h5>
1042      <ul class="nolist"><li>a pending result containing the found data sources.
1043</li></ul>
1044  </div>
1045
1046    </div>
1047</div>
1048
1049
1050<A NAME="register(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, com.google.android.gms.fitness.request.DataSourceListener)"></A>
1051
1052<div class="jd-details api apilevel-">
1053    <h4 class="jd-details-title">
1054      <span class="normal">
1055        public
1056
1057
1058        abstract
1059
1060        <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;
1061      </span>
1062      <span class="sympad">register</span>
1063      <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/SensorRequest.html">SensorRequest</a> request, <a href="/reference/com/google/android/gms/fitness/request/DataSourceListener.html">DataSourceListener</a> listener)</span>
1064    </h4>
1065      <div class="api-level">
1066        <div></div>
1067
1068
1069
1070      </div>
1071    <div class="jd-details-descr">
1072
1073  <div class="jd-tagdata jd-tagdescr"><p>Register for real time updates from a sensor data source.  This method can be called to
1074 register for a particular data source, or for a data type (in which case a default data
1075 source is used).
1076 <p>
1077 After the registration is successful, new data points in the data stream are delivered to the
1078 specified listener.  Historic data is not delivered, but can be queried via the
1079 <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html">History API</a></code>.  When the application is closing, or once real-time data
1080 is no longer needed, the registration should be removed.  If necessary, the
1081 Recording API can be used to persist data for later querying when the application is
1082 re-opened.
1083 <p>
1084 Applications can call this function several times with the same listener to change the
1085 desired sampling rate.</p></div>
1086  <div class="jd-tagdata">
1087      <h5 class="jd-tagtitle">Parameters</h5>
1088      <table class="jd-tagtable">
1089        <tr>
1090          <th>client</td>
1091          <td>an existing GoogleApiClient.  It does not need to be connected at the time of
1092     this call, but the register operation will be delayed until the connection is complete</td>
1093        </tr>
1094        <tr>
1095          <th>request</td>
1096          <td>request specifying the desired data source or data type, as well as the
1097     desired parameters for the registration</td>
1098        </tr>
1099        <tr>
1100          <th>listener</td>
1101          <td>the listener that will be used to respond to events.  The listener object
1102     should be saved, since it can be used to remove the registration when real time events
1103     are no longer needed
1104</td>
1105        </tr>
1106      </table>
1107  </div>
1108
1109    </div>
1110</div>
1111
1112
1113<A NAME="register(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, android.app.PendingIntent)"></A>
1114
1115<div class="jd-details api apilevel-">
1116    <h4 class="jd-details-title">
1117      <span class="normal">
1118        public
1119
1120
1121        abstract
1122
1123        <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;
1124      </span>
1125      <span class="sympad">register</span>
1126      <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/SensorRequest.html">SensorRequest</a> request, PendingIntent intent)</span>
1127    </h4>
1128      <div class="api-level">
1129        <div></div>
1130
1131
1132
1133      </div>
1134    <div class="jd-details-descr">
1135
1136  <div class="jd-tagdata jd-tagdescr"><p>Register for real time updates from a sensor data source using a PendingIntent.  This method
1137 can be called to register for a particular data source, or for a data type (in which case a
1138 default data source is used).
1139 <p>
1140 After the registration is successful, new data points in the data stream are delivered to the
1141 specified intent.  Historic data is not delivered, but can be queried via the
1142 <code><a href="/reference/com/google/android/gms/fitness/HistoryApi.html">History API</a></code>.
1143 <p>
1144 Unlike <code><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#register(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, com.google.android.gms.fitness.request.DataSourceListener)">register(GoogleApiClient, SensorRequest, DataSourceListener)</a></code>,
1145 which takes a listener and is intended for fast sampling rates while the application is
1146 on the foreground, this method is intended for slower sampling rates without the need to
1147 have a service always on in the background.
1148 <p>
1149 The application specifies a PendingIntent callback (typically an IntentService) which will be
1150 called when new data points are available in the requested stream.  When the PendingIntent
1151 is called, the application can use <code><a href="/reference/com/google/android/gms/fitness/data/DataPoint.html#extract(android.content.Intent)">extract(android.content.Intent)</a></code> to
1152 extract the DataPoint from the intent.  See the documentation of
1153 <code><a href="/reference/android/app/PendingIntent.html">PendingIntent</a></code> for more details.
1154 <p>
1155 Applications can call this function several times with the same intent to change the
1156 desired sampling rate.</p></div>
1157  <div class="jd-tagdata">
1158      <h5 class="jd-tagtitle">Parameters</h5>
1159      <table class="jd-tagtable">
1160        <tr>
1161          <th>client</td>
1162          <td>an existing GoogleApiClient.  It does not need to be connected at the time of
1163     this call, but the register operation will be delayed until the connection is complete</td>
1164        </tr>
1165        <tr>
1166          <th>request</td>
1167          <td>request specifying the desired data source or data type, as well as the
1168     desired parameters for the registration</td>
1169        </tr>
1170        <tr>
1171          <th>intent</td>
1172          <td>a callback intent to be sent for each new data points.
1173</td>
1174        </tr>
1175      </table>
1176  </div>
1177
1178    </div>
1179</div>
1180
1181
1182<A NAME="unregister(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.DataSourceListener)"></A>
1183
1184<div class="jd-details api apilevel-">
1185    <h4 class="jd-details-title">
1186      <span class="normal">
1187        public
1188
1189
1190        abstract
1191
1192        <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;
1193      </span>
1194      <span class="sympad">unregister</span>
1195      <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, <a href="/reference/com/google/android/gms/fitness/request/DataSourceListener.html">DataSourceListener</a> listener)</span>
1196    </h4>
1197      <div class="api-level">
1198        <div></div>
1199
1200
1201
1202      </div>
1203    <div class="jd-details-descr">
1204
1205  <div class="jd-tagdata jd-tagdescr"><p>Unregister from real-time updates from a sensor data source.  Should be called whenever
1206 real-time data is no longer needed, such as when the activity that displays real-time data
1207 is paused, stopped, or destroyed.</p></div>
1208  <div class="jd-tagdata">
1209      <h5 class="jd-tagtitle">Parameters</h5>
1210      <table class="jd-tagtable">
1211        <tr>
1212          <th>client</td>
1213          <td>an existing GoogleApiClient.  Must be connected at the time of this call.</td>
1214        </tr>
1215        <tr>
1216          <th>listener</td>
1217          <td>the listener that was used for registering to updates in the
1218     <code><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#register(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, com.google.android.gms.fitness.request.DataSourceListener)">register</a></code> request.</td>
1219        </tr>
1220      </table>
1221  </div>
1222  <div class="jd-tagdata">
1223      <h5 class="jd-tagtitle">Throws</h5>
1224      <table class="jd-tagtable">
1225        <tr>
1226            <th>IllegalStateException</td>
1227            <td>if client is not connected
1228</td>
1229        </tr>
1230      </table>
1231  </div>
1232
1233    </div>
1234</div>
1235
1236
1237<A NAME="unregister(com.google.android.gms.common.api.GoogleApiClient, android.app.PendingIntent)"></A>
1238
1239<div class="jd-details api apilevel-">
1240    <h4 class="jd-details-title">
1241      <span class="normal">
1242        public
1243
1244
1245        abstract
1246
1247        <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;
1248      </span>
1249      <span class="sympad">unregister</span>
1250      <span class="normal">(<a href="/reference/com/google/android/gms/common/api/GoogleApiClient.html">GoogleApiClient</a> client, PendingIntent pendingIntent)</span>
1251    </h4>
1252      <div class="api-level">
1253        <div></div>
1254
1255
1256
1257      </div>
1258    <div class="jd-details-descr">
1259
1260  <div class="jd-tagdata jd-tagdescr"><p>Unregister from updates from a sensor data source with a PendingIntent.  Should be called
1261 whenever updates are no longer needed.</p></div>
1262  <div class="jd-tagdata">
1263      <h5 class="jd-tagtitle">Parameters</h5>
1264      <table class="jd-tagtable">
1265        <tr>
1266          <th>client</td>
1267          <td>an existing GoogleApiClient.  Must be connected at the time of this call.</td>
1268        </tr>
1269        <tr>
1270          <th>pendingIntent</td>
1271          <td>the intent that was used for registering to updates in the
1272     <code><a href="/reference/com/google/android/gms/fitness/SensorsApi.html#register(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.fitness.request.SensorRequest, android.app.PendingIntent)">register</a></code> request.</td>
1273        </tr>
1274      </table>
1275  </div>
1276  <div class="jd-tagdata">
1277      <h5 class="jd-tagtitle">Throws</h5>
1278      <table class="jd-tagtable">
1279        <tr>
1280            <th>IllegalStateException</td>
1281            <td>if client is not connected
1282</td>
1283        </tr>
1284      </table>
1285  </div>
1286
1287    </div>
1288</div>
1289
1290
1291
1292
1293
1294<!-- ========= METHOD DETAIL ======== -->
1295
1296
1297
1298<!-- ========= END OF CLASS DATA ========= -->
1299<A NAME="navbar_top"></A>
1300
1301<div id="footer" class="wrap" >
1302
1303
1304  <div id="copyright">
1305
1306  Except as noted, this content is licensed under <a
1307  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
1308  For details and restrictions, see the <a href="/license.html">
1309  Content License</a>.
1310  </div>
1311  <div id="build_info">
1312
1313<script src="/timestamp.js" type="text/javascript"></script>
1314<script>document.write(BUILD_TIMESTAMP)</script>
1315
1316  </div>
1317
1318
1319  <div id="footerlinks">
1320
1321  <p>
1322    <a href="/about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
1323    <a href="/legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
1324    <a href="/support.html">Support</a>
1325  </p>
1326  </div>
1327
1328</div> <!-- end footer -->
1329</div> <!-- jd-content -->
1330
1331</div><!-- end doc-content -->
1332
1333</div> <!-- end body-content -->
1334
1335
1336
1337
1338
1339
1340</body>
1341</html>
1342