• 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<html>
77<head>
78
79
80
81<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
82
83<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
84<title>GCMRegistrar | Android Developers</title>
85
86<!-- STYLESHEETS -->
87<link rel="stylesheet"
88href="//fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic,bold" title="roboto">
89<link href="/assets/css/default.css" rel="stylesheet" type="text/css">
90
91
92
93<!-- JAVASCRIPT -->
94<script src="//www.google.com/jsapi" type="text/javascript"></script>
95<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
96<script type="text/javascript">
97  var toRoot = "/";
98  var devsite = false;
99</script>
100<script src="/assets/js/docs.js" type="text/javascript"></script>
101
102<script type="text/javascript">
103  var _gaq = _gaq || [];
104  _gaq.push(['_setAccount', 'UA-5831155-1']);
105  _gaq.push(['_trackPageview']);
106
107  (function() {
108    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
109    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
110    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
111  })();
112</script>
113</head>
114<body class="gc-documentation google
115  develop" itemscope itemtype="http://schema.org/Article">
116  <div id="doc-api-level" class="" style="display:none"></div>
117  <a name="top"></a>
118
119<a name="top"></a>
120
121    <!-- Header -->
122    <div id="header">
123        <div class="wrap" id="header-wrap">
124          <div class="col-3 logo">
125          <a href="/index.html">
126            <img src="/assets/images/dac_logo.png" width="123" height="25" alt="Android Developers" />
127          </a>
128          <div class="btn-quicknav" id="btn-quicknav">
129          	<a href="#" class="arrow-inactive">Quicknav</a>
130			      <a href="#" class="arrow-active">Quicknav</a>
131          </div>
132          </div>
133            <ul class="nav-x col-9">
134                <li class="design">
135                  <a href="/design/index.html"
136                  zh-tw-lang="設計"
137                  zh-cn-lang="设计"
138                  ru-lang="Проектирование"
139                  ko-lang="디자인"
140                  ja-lang="設計"
141                  es-lang="Diseñar"
142                  >Design</a></li>
143                <li class="develop"><a href="/develop/index.html"
144                  zh-tw-lang="開發"
145                  zh-cn-lang="开发"
146                  ru-lang="Разработка"
147                  ko-lang="개발"
148                  ja-lang="開発"
149                  es-lang="Desarrollar"
150                  >Develop</a></li>
151                <li class="distribute last"><a href="/distribute/index.html"
152                  zh-tw-lang="發佈"
153                  zh-cn-lang="分发"
154                  ru-lang="Распространение"
155                  ko-lang="배포"
156                  ja-lang="配布"
157                  es-lang="Distribuir"
158                  >Distribute</a></li>
159            </ul>
160
161            <!-- New Search -->
162            <div class="menu-container">
163            <div class="moremenu">
164    <div id="more-btn"></div>
165  </div>
166  <div class="morehover" id="moremenu">
167    <div class="top"></div>
168    <div class="mid">
169      <div class="header">Links</div>
170      <ul>
171        <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li>
172        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
173        <li><a href="/about/index.html">About Android</a></li>
174      </ul>
175      <div class="header">Android Sites</div>
176      <ul>
177        <li><a href="http://www.android.com">Android.com</a></li>
178        <li class="active"><a>Android Developers</a></li>
179        <li><a href="http://source.android.com">Android Open Source Project</a></li>
180      </ul>
181
182
183
184        <div class="header">Language</div>
185          <div id="language" class="locales">
186            <select name="language" onChange="changeLangPref(this.value, true)">
187                <option value="en">English</option>
188                <option value="es">Español</option>
189                <option value="ja">日本語</option>
190                <option value="ko">한국어</option>
191                <option value="ru">Русский</option>
192                <option value="zh-cn">中文 (中国)</option>
193                <option value="zh-tw">中文 (台灣)</option>
194            </select>
195          </div>
196        <script type="text/javascript">
197          <!--
198          loadLangPref();
199            //-->
200        </script>
201
202
203
204
205      <br class="clearfix" />
206    </div>
207    <div class="bottom"></div>
208  </div>
209  <div class="search" id="search-container">
210    <div class="search-inner">
211      <div id="search-btn"></div>
212      <div class="left"></div>
213      <form onsubmit="return submit_search()">
214        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
215onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
216onkeydown="return search_changed(event, true, '/')"
217onkeyup="return search_changed(event, false, '/')" />
218      </form>
219      <div class="right"></div>
220        <a class="close hide">close</a>
221        <div class="left"></div>
222        <div class="right"></div>
223    </div>
224  </div>
225
226  <div class="search_filtered_wrapper reference">
227    <div class="suggest-card reference no-display">
228      <ul class="search_filtered">
229      </ul>
230    </div>
231  </div>
232
233  <div class="search_filtered_wrapper docs">
234    <div class="suggest-card dummy no-display">&nbsp;</div>
235    <div class="suggest-card develop no-display">
236      <ul class="search_filtered">
237      </ul>
238      <div class="child-card guides no-display">
239      </div>
240      <div class="child-card training no-display">
241      </div>
242    </div>
243    <div class="suggest-card design no-display">
244      <ul class="search_filtered">
245      </ul>
246    </div>
247    <div class="suggest-card distribute no-display">
248      <ul class="search_filtered">
249      </ul>
250    </div>
251  </div>
252
253  </div>
254  <!-- /New Search>
255
256
257          <!-- Expanded quicknav -->
258           <div id="quicknav" class="col-9">
259                <ul>
260                    <li class="design">
261                      <ul>
262                        <li><a href="/design/index.html">Get Started</a></li>
263                        <li><a href="/design/style/index.html">Style</a></li>
264                        <li><a href="/design/patterns/index.html">Patterns</a></li>
265                        <li><a href="/design/building-blocks/index.html">Building Blocks</a></li>
266                        <li><a href="/design/downloads/index.html">Downloads</a></li>
267                        <li><a href="/design/videos/index.html">Videos</a></li>
268                      </ul>
269                    </li>
270                    <li class="develop">
271                      <ul>
272                        <li><a href="/training/index.html"
273                          zh-tw-lang="訓練課程"
274                          zh-cn-lang="培训"
275                          ru-lang="Курсы"
276                          ko-lang="교육"
277                          ja-lang="トレーニング"
278                          es-lang="Capacitación"
279                          >Training</a></li>
280                        <li><a href="/guide/components/index.html"
281                          zh-tw-lang="API 指南"
282                          zh-cn-lang="API 指南"
283                          ru-lang="Руководства по API"
284                          ko-lang="API 가이드"
285                          ja-lang="API ガイド"
286                          es-lang="Guías de la API"
287                          >API Guides</a></li>
288                        <li><a href="/reference/packages.html"
289                          zh-tw-lang="參考資源"
290                          zh-cn-lang="参考"
291                          ru-lang="Справочник"
292                          ko-lang="참조문서"
293                          ja-lang="リファレンス"
294                          es-lang="Referencia"
295                          >Reference</a></li>
296                        <li><a href="/tools/index.html"
297                          zh-tw-lang="相關工具"
298                          zh-cn-lang="工具"
299                          ru-lang="Инструменты"
300                          ko-lang="도구"
301                          ja-lang="ツール"
302                          es-lang="Herramientas"
303                          >Tools</a>
304                          <ul><li><a href="/sdk/index.html">Get the SDK</a></li></ul>
305                        </li>
306                        <li><a href="/google/index.html">Google Services</a>
307                        </li>
308                      </ul>
309                    </li>
310                    <li class="distribute last">
311                      <ul>
312                        <li><a href="/distribute/index.html">Google Play</a></li>
313                        <li><a href="/distribute/googleplay/publish/index.html">Publishing</a></li>
314                        <li><a href="/distribute/googleplay/promote/index.html">Promoting</a></li>
315                        <li><a href="/distribute/googleplay/quality/index.html">App Quality</a></li>
316                        <li><a href="/distribute/googleplay/spotlight/index.html">Spotlight</a></li>
317                        <li><a href="/distribute/open.html">Open Distribution</a></li>
318                      </ul>
319                    </li>
320                </ul>
321          </div>
322          <!-- /Expanded quicknav -->
323        </div>
324    </div>
325    <!-- /Header -->
326
327
328  <div id="searchResults" class="wrap" style="display:none;">
329          <h2 id="searchTitle">Results</h2>
330          <div id="leftSearchControl" class="search-control">Loading...</div>
331  </div>
332
333
334
335    <!-- Secondary x-nav -->
336    <div id="nav-x">
337        <div class="wrap">
338            <ul class="nav-x col-9 develop" style="width:100%">
339                <li class="training"><a href="/training/index.html"
340                  zh-tw-lang="訓練課程"
341                  zh-cn-lang="培训"
342                  ru-lang="Курсы"
343                  ko-lang="교육"
344                  ja-lang="トレーニング"
345                  es-lang="Capacitación"
346                  >Training</a></li>
347                <li class="guide"><a href="/guide/components/index.html"
348                  zh-tw-lang="API 指南"
349                  zh-cn-lang="API 指南"
350                  ru-lang="Руководства по API"
351                  ko-lang="API 가이드"
352                  ja-lang="API ガイド"
353                  es-lang="Guías de la API"
354                  >API Guides</a></li>
355                <li class="reference"><a href="/reference/packages.html"
356                  zh-tw-lang="參考資源"
357                  zh-cn-lang="参考"
358                  ru-lang="Справочник"
359                  ko-lang="참조문서"
360                  ja-lang="リファレンス"
361                  es-lang="Referencia"
362                  >Reference</a></li>
363                <li class="tools"><a href="/tools/index.html"
364                  zh-tw-lang="相關工具"
365                  zh-cn-lang="工具"
366                  ru-lang="Инструменты"
367                  ko-lang="도구"
368                  ja-lang="ツール"
369                  es-lang="Herramientas"
370                  >Tools</a></li>
371                <li class="google"><a href="/google/index.html"
372                  >Google Services</a>
373                </li>
374            </ul>
375        </div>
376
377    </div>
378    <!-- /Sendondary x-nav -->
379
380
381
382
383
384
385
386
387
388  <div class="wrap clearfix" id="body-content">
389    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
390      <div id="devdoc-nav" class="scroll-pane">
391<a class="totop" href="#top" data-g-event="left-nav-top">to top</a>
392
393
394
395<ul id="nav">
396
397  <li class="nav-section">
398    <div class="nav-section-header empty"><a href="/google/index.html">
399          <span class="en">Overview</span>
400      </a></div>
401  </li>
402
403  <li class="nav-section">
404    <div class="nav-section-header empty"><a href="/google/play-services/games.html">
405          <span class="en">Games</span>
406      </a></div>
407  </li>
408  <li class="nav-section">
409    <div class="nav-section-header empty"><a href="/google/play-services/location.html">
410          <span class="en">Location</span>
411      </a></div>
412  </li>
413  <li class="nav-section">
414    <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
415          <span class="en">Google+</span>
416                </a></div>
417  </li>
418  <li class="nav-section">
419    <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
420          <span class="en">Google Maps</span>
421      </a></div>
422  </li>
423  <li class="nav-section">
424    <div class="nav-section-header empty"><a href="/google/play-services/auth.html">
425          <span class="en">Authorization</span>
426      </a></div>
427  </li>
428
429
430
431  <li class="nav-section">
432    <div class="nav-section-header"><a href="/google/play-services/index.html">
433      <span class="en">Google Play Services</span></a>
434    </div>
435    <ul>
436      <li><a href="/google/play-services/setup.html">
437          <span class="en">Setup</span></a>
438      </li>
439      <li id="gms-tree-list" class="nav-section">
440        <div class="nav-section-header">
441          <a href="/reference/gms-packages.html">
442            <span class="en">Reference</span>
443          </a>
444        <div>
445      </li>
446    </ul>
447  </li>
448
449
450  <li class="nav-section">
451    <div class="nav-section-header"><a href="/google/play/billing/index.html">
452      <span class="en">Google Play In-app Billing</span></a>
453    </div>
454    <ul>
455      <li><a href="/google/play/billing/billing_overview.html">
456              <span class="en">Overview</span></a>
457      </li>
458      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html">
459              <span class="en">Version 3 API</span></a></div>
460              <ul>
461              <li><a href="/google/play/billing/billing_integrate.html">
462              <span class="en">Implementing the API</span></a></li>
463              <li><a href="/google/play/billing/billing_reference.html">
464              <span class="en">Reference</span></a></li>
465              </ul>
466      </li>
467      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
468              <span class="en">Version 2 API</span></a></div>
469              <ul>
470              <li><a href="/google/play/billing/v2/billing_integrate.html">
471              <span class="en">Implementing the API</span></a></li>
472              <li><a href="/google/play/billing/v2/billing_subscriptions.html">
473              <span class="en">Subscriptions</span></a></li>
474              <li><a href="/google/play/billing/v2/billing_reference.html">
475              <span class="en">Reference</span></a></li>
476              </ul>
477      </li>
478      <li><a href="/google/play/billing/billing_subscriptions.html">
479              <span class="en">Subscriptions</span></a>
480      </li>
481      <li><a href="/google/play/billing/billing_best_practices.html">
482              <span class="en">Security and Design</span></a>
483      </li>
484      <li><a href="/google/play/billing/billing_testing.html">
485              <span class="en">Testing In-app Billing</span></a>
486      </li>
487      <li><a href="/google/play/billing/billing_admin.html">
488              <span class="en">Administering In-app Billing</span></a>
489      </li>
490      <li><a href="/google/play/billing/versions.html">
491              <span class="en">Version Notes</span></a>
492      </li>
493    </ul>
494  </li>
495
496
497
498  <li class="nav-section">
499      <div class="nav-section-header"><a href="/google/gcm/index.html">
500        <span class="en">Google Cloud Messaging</span></a>
501      </div>
502      <ul>
503        <li><a href="/google/gcm/gs.html">
504            <span class="en">Getting Started</span></a>
505        </li>
506        <li><a href="/google/gcm/gcm.html">
507            <span class="en">Architectural Overview</span></a>
508        </li>
509        <li><a href="/google/gcm/demo.html">
510            <span class="en">Demo App Tutorial</span></a>
511        </li>
512        <li><a href="/google/gcm/adv.html">
513            <span class="en">Advanced Topics</span></a>
514        </li>
515        <li><a href="/google/gcm/c2dm.html">
516            <span class="en">Migration</span></a>
517        </li>
518        <li id="gcm-tree-list" class="nav-section">
519          <div class="nav-section-header">
520            <a href="/reference/gcm-packages.html">
521              <span class="en">Reference</span>
522            </a>
523          <div>
524        </li>
525      </ul>
526  </li>
527
528  <li class="nav-section">
529    <div class="nav-section-header"><a href="/google/play/dist.html">
530      <span class="en">Google Play Distribution</span></a>
531    </div>
532    <ul>
533      <li><a href="/google/play/filters.html">
534          <span class="en">Filters on Google Play</span></a>
535      </li>
536
537      <li><a href="/google/play/publishing/multiple-apks.html">
538          <span class="en">Multiple APK Support</span></a>
539      </li>
540      <li><a href="/google/play/expansion-files.html">
541          <span class="en">APK Expansion Files</span></a>
542      </li>
543      <li class="nav-section">
544        <div class="nav-section-header"><a href="/google/play/licensing/index.html">
545          <span class="en">Application Licensing</span></a>
546        </div>
547        <ul>
548          <li><a href="/google/play/licensing/overview.html">
549              <span class="en">Licensing Overview</span></a>
550          </li>
551          <li><a href="/google/play/licensing/setting-up.html">
552              <span class="en">Setting Up for Licensing</span></a>
553          </li>
554          <li><a href="/google/play/licensing/adding-licensing.html">
555              <span class="en">Adding Licensing to Your App</span></a>
556          </li>
557          <li><a href="/google/play/licensing/licensing-reference.html">
558              <span class="en">Licensing Reference</span></a>
559          </li>
560        </ul>
561      </li>
562
563  <li class="nav-section">
564    <div class="nav-section-header"><a href="/google/backup/index.html">
565      Android Backup Service</a>
566    </div>
567    <ul>
568      <li><a href="/google/backup/signup.html">
569          Register</a>
570      </li>
571    </ul>
572  </li>
573
574  </ul>
575
576</li>
577
578
579
580</ul>
581
582<script type="text/javascript">
583<!--
584    buildToggleLists();
585    changeNavLang(getLangPref());
586//-->
587</script>
588
589
590
591
592      </div>
593      <script type="text/javascript">
594       showGoogleRefTree();
595
596      </script>
597    </div> <!-- end side-nav -->
598    <script>
599      $(document).ready(function() {
600        scrollIntoView("devdoc-nav");
601        });
602    </script>
603
604
605
606
607
608
609<div class="col-12"  id="doc-col">
610
611<div id="api-info-block">
612
613
614
615
616
617
618
619
620
621
622
623<div class="sum-details-links">
624
625Summary:
626
627
628
629
630
631  <a href="#constants">Constants</a>
632
633
634
635
636
637
638
639
640  &#124; <a href="#pubmethods">Methods</a>
641
642
643
644
645  &#124; <a href="#inhmethods">Inherited Methods</a>
646
647&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
648
649</div><!-- end sum-details-links -->
650<div class="api-level">
651
652
653
654
655</div>
656</div><!-- end api-info-block -->
657
658
659<!-- ======== START OF CLASS DATA ======== -->
660
661<div id="jd-header">
662    public
663
664    final
665
666    class
667<h1 itemprop="name">GCMRegistrar</h1>
668
669
670
671
672    extends Object<br/>
673
674
675
676
677
678
679
680
681
682</div><!-- end header -->
683
684<div id="naMessage"></div>
685
686<div id="jd-content" class="api apilevel-">
687<table class="jd-inheritance-table">
688
689
690    <tr>
691
692        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
693    </tr>
694
695
696    <tr>
697
698            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
699
700        <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gcm.GCMRegistrar</td>
701    </tr>
702
703
704</table>
705
706
707
708
709
710
711
712<div class="jd-descr">
713
714
715<h2>Class Overview</h2>
716<p itemprop="articleBody">Utilities for device registration.
717 <p>
718 <strong>Note:</strong> this class uses a private <code><a href="/reference/android/content/SharedPreferences.html">SharedPreferences</a></code>
719 object to keep track of the registration token.
720</p>
721
722
723
724
725
726</div><!-- jd-descr -->
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743<div class="jd-descr">
744
745
746<h2>Summary</h2>
747
748
749
750
751
752
753
754
755
756
757
758
759
760<!-- =========== ENUM CONSTANT SUMMARY =========== -->
761<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
762
763
764
765    <tr class="alt-color api apilevel-" >
766        <td class="jd-typecol">long</td>
767        <td class="jd-linkcol"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#DEFAULT_ON_SERVER_LIFESPAN_MS">DEFAULT_ON_SERVER_LIFESPAN_MS</a></td>
768        <td class="jd-descrcol" width="100%">Default lifespan (7 days) of the <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#isRegisteredOnServer(android.content.Context)">isRegisteredOnServer(Context)</a></code>
769 flag until it is considered expired.</td>
770    </tr>
771
772
773
774</table>
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791<!-- ========== METHOD SUMMARY =========== -->
792<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
793
794
795
796
797    <tr class="alt-color api apilevel-" >
798        <td class="jd-typecol"><nobr>
799
800
801
802            static
803
804            void</nobr>
805        </td>
806        <td class="jd-linkcol" width="100%"><nobr>
807        <span class="sympad"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#checkDevice(android.content.Context)">checkDevice</a></span>(Context context)</nobr>
808
809        <div class="jd-descrdiv">Checks if the device has the proper dependencies installed.</div>
810
811  </td></tr>
812
813
814
815    <tr class=" api apilevel-" >
816        <td class="jd-typecol"><nobr>
817
818
819
820            static
821
822            void</nobr>
823        </td>
824        <td class="jd-linkcol" width="100%"><nobr>
825        <span class="sympad"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#checkManifest(android.content.Context)">checkManifest</a></span>(Context context)</nobr>
826
827        <div class="jd-descrdiv">Checks that the application manifest is properly configured.</div>
828
829  </td></tr>
830
831
832
833    <tr class="alt-color api apilevel-" >
834        <td class="jd-typecol"><nobr>
835
836
837
838            static
839
840            long</nobr>
841        </td>
842        <td class="jd-linkcol" width="100%"><nobr>
843        <span class="sympad"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#getRegisterOnServerLifespan(android.content.Context)">getRegisterOnServerLifespan</a></span>(Context context)</nobr>
844
845        <div class="jd-descrdiv">Gets how long (in milliseconds) the <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#isRegistered(android.content.Context)">isRegistered(Context)</a></code>
846 property is valid.</div>
847
848  </td></tr>
849
850
851
852    <tr class=" api apilevel-" >
853        <td class="jd-typecol"><nobr>
854
855
856
857            static
858
859            String</nobr>
860        </td>
861        <td class="jd-linkcol" width="100%"><nobr>
862        <span class="sympad"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#getRegistrationId(android.content.Context)">getRegistrationId</a></span>(Context context)</nobr>
863
864        <div class="jd-descrdiv">Gets the current registration id for application on GCM service.</div>
865
866  </td></tr>
867
868
869
870    <tr class="alt-color api apilevel-" >
871        <td class="jd-typecol"><nobr>
872
873
874
875            static
876
877            boolean</nobr>
878        </td>
879        <td class="jd-linkcol" width="100%"><nobr>
880        <span class="sympad"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#isRegistered(android.content.Context)">isRegistered</a></span>(Context context)</nobr>
881
882        <div class="jd-descrdiv">Checks whether the application was successfully registered on GCM
883 service.</div>
884
885  </td></tr>
886
887
888
889    <tr class=" api apilevel-" >
890        <td class="jd-typecol"><nobr>
891
892
893
894            static
895
896            boolean</nobr>
897        </td>
898        <td class="jd-linkcol" width="100%"><nobr>
899        <span class="sympad"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#isRegisteredOnServer(android.content.Context)">isRegisteredOnServer</a></span>(Context context)</nobr>
900
901        <div class="jd-descrdiv">Checks whether the device was successfully registered in the server side,
902 as set by <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#setRegisteredOnServer(android.content.Context, boolean)">setRegisteredOnServer(Context, boolean)</a></code>.</div>
903
904  </td></tr>
905
906
907
908    <tr class="alt-color api apilevel-" >
909        <td class="jd-typecol"><nobr>
910
911            synchronized
912
913            static
914
915            void</nobr>
916        </td>
917        <td class="jd-linkcol" width="100%"><nobr>
918        <span class="sympad"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#onDestroy(android.content.Context)">onDestroy</a></span>(Context context)</nobr>
919
920        <div class="jd-descrdiv">Clear internal resources.</div>
921
922  </td></tr>
923
924
925
926    <tr class=" api apilevel-" >
927        <td class="jd-typecol"><nobr>
928
929
930
931            static
932
933            void</nobr>
934        </td>
935        <td class="jd-linkcol" width="100%"><nobr>
936        <span class="sympad"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#register(android.content.Context, java.lang.String...)">register</a></span>(Context context, String... senderIds)</nobr>
937
938        <div class="jd-descrdiv">Initiate messaging registration for the current application.</div>
939
940  </td></tr>
941
942
943
944    <tr class="alt-color api apilevel-" >
945        <td class="jd-typecol"><nobr>
946
947
948
949            static
950
951            void</nobr>
952        </td>
953        <td class="jd-linkcol" width="100%"><nobr>
954        <span class="sympad"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#setRegisterOnServerLifespan(android.content.Context, long)">setRegisterOnServerLifespan</a></span>(Context context, long lifespan)</nobr>
955
956        <div class="jd-descrdiv">Sets how long (in milliseconds) the <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#isRegistered(android.content.Context)">isRegistered(Context)</a></code>
957 flag is valid.</div>
958
959  </td></tr>
960
961
962
963    <tr class=" api apilevel-" >
964        <td class="jd-typecol"><nobr>
965
966
967
968            static
969
970            void</nobr>
971        </td>
972        <td class="jd-linkcol" width="100%"><nobr>
973        <span class="sympad"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#setRegisteredOnServer(android.content.Context, boolean)">setRegisteredOnServer</a></span>(Context context, boolean flag)</nobr>
974
975        <div class="jd-descrdiv">Sets whether the device was successfully registered in the server side.</div>
976
977  </td></tr>
978
979
980
981    <tr class="alt-color api apilevel-" >
982        <td class="jd-typecol"><nobr>
983
984
985
986            static
987
988            void</nobr>
989        </td>
990        <td class="jd-linkcol" width="100%"><nobr>
991        <span class="sympad"><a href="/reference/com/google/android/gcm/GCMRegistrar.html#unregister(android.content.Context)">unregister</a></span>(Context context)</nobr>
992
993        <div class="jd-descrdiv">Unregister the application.</div>
994
995  </td></tr>
996
997
998
999</table>
1000
1001
1002
1003
1004
1005
1006
1007<!-- ========== METHOD SUMMARY =========== -->
1008<table id="inhmethods" class="jd-sumtable"><tr><th>
1009  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
1010  <div style="clear:left;">Inherited Methods</div></th></tr>
1011
1012
1013<tr class="api apilevel-" >
1014<td colspan="12">
1015  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
1016          ><img id="inherited-methods-java.lang.Object-trigger"
1017          src="/assets/images/triangle-closed.png"
1018          class="jd-expando-trigger-img" /></a>
1019From class
1020
1021  java.lang.Object
1022
1023<div id="inherited-methods-java.lang.Object">
1024  <div id="inherited-methods-java.lang.Object-list"
1025        class="jd-inheritedlinks">
1026  </div>
1027  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
1028    <table class="jd-sumtable-expando">
1029
1030
1031
1032
1033    <tr class="alt-color api apilevel-" >
1034        <td class="jd-typecol"><nobr>
1035
1036
1037
1038
1039
1040            Object</nobr>
1041        </td>
1042        <td class="jd-linkcol" width="100%"><nobr>
1043        <span class="sympad">clone</span>()</nobr>
1044
1045  </td></tr>
1046
1047
1048
1049    <tr class=" api apilevel-" >
1050        <td class="jd-typecol"><nobr>
1051
1052
1053
1054
1055
1056            boolean</nobr>
1057        </td>
1058        <td class="jd-linkcol" width="100%"><nobr>
1059        <span class="sympad">equals</span>(Object arg0)</nobr>
1060
1061  </td></tr>
1062
1063
1064
1065    <tr class="alt-color api apilevel-" >
1066        <td class="jd-typecol"><nobr>
1067
1068
1069
1070
1071
1072            void</nobr>
1073        </td>
1074        <td class="jd-linkcol" width="100%"><nobr>
1075        <span class="sympad">finalize</span>()</nobr>
1076
1077  </td></tr>
1078
1079
1080
1081    <tr class=" api apilevel-" >
1082        <td class="jd-typecol"><nobr>
1083
1084
1085            final
1086
1087
1088            Class&lt;?&gt;</nobr>
1089        </td>
1090        <td class="jd-linkcol" width="100%"><nobr>
1091        <span class="sympad">getClass</span>()</nobr>
1092
1093  </td></tr>
1094
1095
1096
1097    <tr class="alt-color api apilevel-" >
1098        <td class="jd-typecol"><nobr>
1099
1100
1101
1102
1103
1104            int</nobr>
1105        </td>
1106        <td class="jd-linkcol" width="100%"><nobr>
1107        <span class="sympad">hashCode</span>()</nobr>
1108
1109  </td></tr>
1110
1111
1112
1113    <tr class=" api apilevel-" >
1114        <td class="jd-typecol"><nobr>
1115
1116
1117            final
1118
1119
1120            void</nobr>
1121        </td>
1122        <td class="jd-linkcol" width="100%"><nobr>
1123        <span class="sympad">notify</span>()</nobr>
1124
1125  </td></tr>
1126
1127
1128
1129    <tr class="alt-color api apilevel-" >
1130        <td class="jd-typecol"><nobr>
1131
1132
1133            final
1134
1135
1136            void</nobr>
1137        </td>
1138        <td class="jd-linkcol" width="100%"><nobr>
1139        <span class="sympad">notifyAll</span>()</nobr>
1140
1141  </td></tr>
1142
1143
1144
1145    <tr class=" api apilevel-" >
1146        <td class="jd-typecol"><nobr>
1147
1148
1149
1150
1151
1152            String</nobr>
1153        </td>
1154        <td class="jd-linkcol" width="100%"><nobr>
1155        <span class="sympad">toString</span>()</nobr>
1156
1157  </td></tr>
1158
1159
1160
1161    <tr class="alt-color api apilevel-" >
1162        <td class="jd-typecol"><nobr>
1163
1164
1165            final
1166
1167
1168            void</nobr>
1169        </td>
1170        <td class="jd-linkcol" width="100%"><nobr>
1171        <span class="sympad">wait</span>()</nobr>
1172
1173  </td></tr>
1174
1175
1176
1177    <tr class=" api apilevel-" >
1178        <td class="jd-typecol"><nobr>
1179
1180
1181            final
1182
1183
1184            void</nobr>
1185        </td>
1186        <td class="jd-linkcol" width="100%"><nobr>
1187        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
1188
1189  </td></tr>
1190
1191
1192
1193    <tr class="alt-color api apilevel-" >
1194        <td class="jd-typecol"><nobr>
1195
1196
1197            final
1198
1199
1200            void</nobr>
1201        </td>
1202        <td class="jd-linkcol" width="100%"><nobr>
1203        <span class="sympad">wait</span>(long arg0)</nobr>
1204
1205  </td></tr>
1206
1207
1208</table>
1209  </div>
1210</div>
1211</td></tr>
1212
1213
1214</table>
1215
1216
1217</div><!-- jd-descr (summary) -->
1218
1219<!-- Details -->
1220
1221
1222
1223
1224
1225
1226
1227
1228<!-- XML Attributes -->
1229
1230
1231<!-- Enum Values -->
1232
1233
1234<!-- Constants -->
1235
1236
1237<!-- ========= ENUM CONSTANTS DETAIL ======== -->
1238<h2>Constants</h2>
1239
1240
1241
1242
1243<A NAME="DEFAULT_ON_SERVER_LIFESPAN_MS"></A>
1244
1245<div class="jd-details api apilevel-">
1246    <h4 class="jd-details-title">
1247      <span class="normal">
1248        public
1249        static
1250        final
1251        long
1252      </span>
1253        DEFAULT_ON_SERVER_LIFESPAN_MS
1254    </h4>
1255      <div class="api-level">
1256
1257
1258
1259
1260      </div>
1261    <div class="jd-details-descr">
1262
1263  <div class="jd-tagdata jd-tagdescr"><p>Default lifespan (7 days) of the <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#isRegisteredOnServer(android.content.Context)">isRegisteredOnServer(Context)</a></code>
1264 flag until it is considered expired.
1265</p></div>
1266
1267
1268        <div class="jd-tagdata">
1269        <span class="jd-tagtitle">Constant Value: </span>
1270        <span>
1271
1272                604800000
1273                (0x00000000240c8400)
1274
1275        </span>
1276        </div>
1277
1278    </div>
1279</div>
1280
1281
1282
1283
1284<!-- Fields -->
1285
1286
1287<!-- Public ctors -->
1288
1289
1290
1291<!-- ========= CONSTRUCTOR DETAIL ======== -->
1292<!-- Protected ctors -->
1293
1294
1295
1296<!-- ========= METHOD DETAIL ======== -->
1297<!-- Public methdos -->
1298
1299<h2>Public Methods</h2>
1300
1301
1302
1303<A NAME="checkDevice(android.content.Context)"></A>
1304
1305<div class="jd-details api apilevel-">
1306    <h4 class="jd-details-title">
1307      <span class="normal">
1308        public
1309        static
1310
1311
1312
1313        void
1314      </span>
1315      <span class="sympad">checkDevice</span>
1316      <span class="normal">(Context context)</span>
1317    </h4>
1318      <div class="api-level">
1319        <div></div>
1320
1321
1322
1323      </div>
1324    <div class="jd-details-descr">
1325
1326  <div class="jd-tagdata jd-tagdescr"><p>Checks if the device has the proper dependencies installed.
1327 <p>
1328 This method should be called when the application starts to verify that
1329 the device supports GCM.</p></div>
1330  <div class="jd-tagdata">
1331      <h5 class="jd-tagtitle">Parameters</h5>
1332      <table class="jd-tagtable">
1333        <tr>
1334          <th>context</td>
1335          <td>application context.</td>
1336        </tr>
1337      </table>
1338  </div>
1339  <div class="jd-tagdata">
1340      <h5 class="jd-tagtitle">Throws</h5>
1341      <table class="jd-tagtable">
1342        <tr>
1343            <th>UnsupportedOperationException</td>
1344            <td>if the device does not support GCM.
1345</td>
1346        </tr>
1347      </table>
1348  </div>
1349
1350    </div>
1351</div>
1352
1353
1354<A NAME="checkManifest(android.content.Context)"></A>
1355
1356<div class="jd-details api apilevel-">
1357    <h4 class="jd-details-title">
1358      <span class="normal">
1359        public
1360        static
1361
1362
1363
1364        void
1365      </span>
1366      <span class="sympad">checkManifest</span>
1367      <span class="normal">(Context context)</span>
1368    </h4>
1369      <div class="api-level">
1370        <div></div>
1371
1372
1373
1374      </div>
1375    <div class="jd-details-descr">
1376
1377  <div class="jd-tagdata jd-tagdescr"><p>Checks that the application manifest is properly configured.
1378 <p>
1379 A proper configuration means:
1380 <ol>
1381    <li>It creates a custom permission called
1382      <code>PACKAGE_NAME.permission.C2D_MESSAGE</code>.
1383    <li>It defines at least one <code><a href="/reference/android/content/BroadcastReceiver.html">BroadcastReceiver</a></code> with category
1384      <code>PACKAGE_NAME</code>.
1385    <li>The <code><a href="/reference/android/content/BroadcastReceiver.html">BroadcastReceiver</a></code>(s) uses the
1386      <code><a href="/reference/com/google/android/gcm/GCMConstants.html#PERMISSION_GCM_INTENTS">com.google.android.gcm.GCMConstants.PERMISSION_GCM_INTENTS</a></code>
1387      permission.
1388    <li>The <code><a href="/reference/android/content/BroadcastReceiver.html">BroadcastReceiver</a></code>(s) handles the 2 GCM intents
1389      (<code><a href="/reference/com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_MESSAGE">com.google.android.gcm.GCMConstants.INTENT_FROM_GCM_MESSAGE</a></code>
1390      and
1391      <code><a href="/reference/com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">com.google.android.gcm.GCMConstants.INTENT_FROM_GCM_REGISTRATION_CALLBACK</a></code>).
1392 </ol>
1393 ...where <code>PACKAGE_NAME</code> is the application package.
1394 <p>
1395 This method should be used during development time to verify that the
1396 manifest is properly set up, but it doesn't need to be called once the
1397 application is deployed to the users' devices.</p></div>
1398  <div class="jd-tagdata">
1399      <h5 class="jd-tagtitle">Parameters</h5>
1400      <table class="jd-tagtable">
1401        <tr>
1402          <th>context</td>
1403          <td>application context.</td>
1404        </tr>
1405      </table>
1406  </div>
1407  <div class="jd-tagdata">
1408      <h5 class="jd-tagtitle">Throws</h5>
1409      <table class="jd-tagtable">
1410        <tr>
1411            <th>IllegalStateException</td>
1412            <td>if any of the conditions above is not met.
1413</td>
1414        </tr>
1415      </table>
1416  </div>
1417
1418    </div>
1419</div>
1420
1421
1422<A NAME="getRegisterOnServerLifespan(android.content.Context)"></A>
1423
1424<div class="jd-details api apilevel-">
1425    <h4 class="jd-details-title">
1426      <span class="normal">
1427        public
1428        static
1429
1430
1431
1432        long
1433      </span>
1434      <span class="sympad">getRegisterOnServerLifespan</span>
1435      <span class="normal">(Context context)</span>
1436    </h4>
1437      <div class="api-level">
1438        <div></div>
1439
1440
1441
1442      </div>
1443    <div class="jd-details-descr">
1444
1445  <div class="jd-tagdata jd-tagdescr"><p>Gets how long (in milliseconds) the <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#isRegistered(android.content.Context)">isRegistered(Context)</a></code>
1446 property is valid.</p></div>
1447  <div class="jd-tagdata">
1448      <h5 class="jd-tagtitle">Returns</h5>
1449      <ul class="nolist"><li>value set by <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#setRegisteredOnServer(android.content.Context, boolean)">setRegisteredOnServer(Context, boolean)</a></code> or
1450      <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#DEFAULT_ON_SERVER_LIFESPAN_MS">DEFAULT_ON_SERVER_LIFESPAN_MS</a></code> if not set.
1451</li></ul>
1452  </div>
1453
1454    </div>
1455</div>
1456
1457
1458<A NAME="getRegistrationId(android.content.Context)"></A>
1459
1460<div class="jd-details api apilevel-">
1461    <h4 class="jd-details-title">
1462      <span class="normal">
1463        public
1464        static
1465
1466
1467
1468        String
1469      </span>
1470      <span class="sympad">getRegistrationId</span>
1471      <span class="normal">(Context context)</span>
1472    </h4>
1473      <div class="api-level">
1474        <div></div>
1475
1476
1477
1478      </div>
1479    <div class="jd-details-descr">
1480
1481  <div class="jd-tagdata jd-tagdescr"><p>Gets the current registration id for application on GCM service.
1482 <p>
1483 If result is empty, the registration has failed.</p></div>
1484  <div class="jd-tagdata">
1485      <h5 class="jd-tagtitle">Returns</h5>
1486      <ul class="nolist"><li>registration id, or empty string if the registration is not
1487         complete.
1488</li></ul>
1489  </div>
1490
1491    </div>
1492</div>
1493
1494
1495<A NAME="isRegistered(android.content.Context)"></A>
1496
1497<div class="jd-details api apilevel-">
1498    <h4 class="jd-details-title">
1499      <span class="normal">
1500        public
1501        static
1502
1503
1504
1505        boolean
1506      </span>
1507      <span class="sympad">isRegistered</span>
1508      <span class="normal">(Context context)</span>
1509    </h4>
1510      <div class="api-level">
1511        <div></div>
1512
1513
1514
1515      </div>
1516    <div class="jd-details-descr">
1517
1518  <div class="jd-tagdata jd-tagdescr"><p>Checks whether the application was successfully registered on GCM
1519 service.
1520</p></div>
1521
1522    </div>
1523</div>
1524
1525
1526<A NAME="isRegisteredOnServer(android.content.Context)"></A>
1527
1528<div class="jd-details api apilevel-">
1529    <h4 class="jd-details-title">
1530      <span class="normal">
1531        public
1532        static
1533
1534
1535
1536        boolean
1537      </span>
1538      <span class="sympad">isRegisteredOnServer</span>
1539      <span class="normal">(Context context)</span>
1540    </h4>
1541      <div class="api-level">
1542        <div></div>
1543
1544
1545
1546      </div>
1547    <div class="jd-details-descr">
1548
1549  <div class="jd-tagdata jd-tagdescr"><p>Checks whether the device was successfully registered in the server side,
1550 as set by <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#setRegisteredOnServer(android.content.Context, boolean)">setRegisteredOnServer(Context, boolean)</a></code>.
1551
1552 <p>To avoid the scenario where the device sends the registration to the
1553 server but the server loses it, this flag has an expiration date, which
1554 is <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#DEFAULT_ON_SERVER_LIFESPAN_MS">DEFAULT_ON_SERVER_LIFESPAN_MS</a></code> by default (but can be changed
1555 by <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#setRegisterOnServerLifespan(android.content.Context, long)">setRegisterOnServerLifespan(Context, long)</a></code>).
1556</p></div>
1557
1558    </div>
1559</div>
1560
1561
1562<A NAME="onDestroy(android.content.Context)"></A>
1563
1564<div class="jd-details api apilevel-">
1565    <h4 class="jd-details-title">
1566      <span class="normal">
1567        public
1568        static
1569
1570
1571        synchronized
1572        void
1573      </span>
1574      <span class="sympad">onDestroy</span>
1575      <span class="normal">(Context context)</span>
1576    </h4>
1577      <div class="api-level">
1578        <div></div>
1579
1580
1581
1582      </div>
1583    <div class="jd-details-descr">
1584
1585  <div class="jd-tagdata jd-tagdescr"><p>Clear internal resources.
1586
1587 <p>
1588 This method should be called by the main activity's <code>onDestroy()</code>
1589 method.
1590</p></div>
1591
1592    </div>
1593</div>
1594
1595
1596<A NAME="register(android.content.Context, java.lang.String...)"></A>
1597
1598<div class="jd-details api apilevel-">
1599    <h4 class="jd-details-title">
1600      <span class="normal">
1601        public
1602        static
1603
1604
1605
1606        void
1607      </span>
1608      <span class="sympad">register</span>
1609      <span class="normal">(Context context, String... senderIds)</span>
1610    </h4>
1611      <div class="api-level">
1612        <div></div>
1613
1614
1615
1616      </div>
1617    <div class="jd-details-descr">
1618
1619  <div class="jd-tagdata jd-tagdescr"><p>Initiate messaging registration for the current application.
1620 <p>
1621 The result will be returned as an
1622 <code><a href="/reference/com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">INTENT_FROM_GCM_REGISTRATION_CALLBACK</a></code> intent with
1623 either a <code><a href="/reference/com/google/android/gcm/GCMConstants.html#EXTRA_REGISTRATION_ID">EXTRA_REGISTRATION_ID</a></code> or
1624 <code><a href="/reference/com/google/android/gcm/GCMConstants.html#EXTRA_ERROR">EXTRA_ERROR</a></code>.</p></div>
1625  <div class="jd-tagdata">
1626      <h5 class="jd-tagtitle">Parameters</h5>
1627      <table class="jd-tagtable">
1628        <tr>
1629          <th>context</td>
1630          <td>application context.</td>
1631        </tr>
1632        <tr>
1633          <th>senderIds</td>
1634          <td>Google Project ID of the accounts authorized to send
1635    messages to this application.</td>
1636        </tr>
1637      </table>
1638  </div>
1639  <div class="jd-tagdata">
1640      <h5 class="jd-tagtitle">Throws</h5>
1641      <table class="jd-tagtable">
1642        <tr>
1643            <th>IllegalStateException</td>
1644            <td>if device does not have all GCM
1645             dependencies installed.
1646</td>
1647        </tr>
1648      </table>
1649  </div>
1650
1651    </div>
1652</div>
1653
1654
1655<A NAME="setRegisterOnServerLifespan(android.content.Context, long)"></A>
1656
1657<div class="jd-details api apilevel-">
1658    <h4 class="jd-details-title">
1659      <span class="normal">
1660        public
1661        static
1662
1663
1664
1665        void
1666      </span>
1667      <span class="sympad">setRegisterOnServerLifespan</span>
1668      <span class="normal">(Context context, long lifespan)</span>
1669    </h4>
1670      <div class="api-level">
1671        <div></div>
1672
1673
1674
1675      </div>
1676    <div class="jd-details-descr">
1677
1678  <div class="jd-tagdata jd-tagdescr"><p>Sets how long (in milliseconds) the <code><a href="/reference/com/google/android/gcm/GCMRegistrar.html#isRegistered(android.content.Context)">isRegistered(Context)</a></code>
1679 flag is valid.
1680</p></div>
1681
1682    </div>
1683</div>
1684
1685
1686<A NAME="setRegisteredOnServer(android.content.Context, boolean)"></A>
1687
1688<div class="jd-details api apilevel-">
1689    <h4 class="jd-details-title">
1690      <span class="normal">
1691        public
1692        static
1693
1694
1695
1696        void
1697      </span>
1698      <span class="sympad">setRegisteredOnServer</span>
1699      <span class="normal">(Context context, boolean flag)</span>
1700    </h4>
1701      <div class="api-level">
1702        <div></div>
1703
1704
1705
1706      </div>
1707    <div class="jd-details-descr">
1708
1709  <div class="jd-tagdata jd-tagdescr"><p>Sets whether the device was successfully registered in the server side.
1710</p></div>
1711
1712    </div>
1713</div>
1714
1715
1716<A NAME="unregister(android.content.Context)"></A>
1717
1718<div class="jd-details api apilevel-">
1719    <h4 class="jd-details-title">
1720      <span class="normal">
1721        public
1722        static
1723
1724
1725
1726        void
1727      </span>
1728      <span class="sympad">unregister</span>
1729      <span class="normal">(Context context)</span>
1730    </h4>
1731      <div class="api-level">
1732        <div></div>
1733
1734
1735
1736      </div>
1737    <div class="jd-details-descr">
1738
1739  <div class="jd-tagdata jd-tagdescr"><p>Unregister the application.
1740 <p>
1741 The result will be returned as an
1742 <code><a href="/reference/com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">INTENT_FROM_GCM_REGISTRATION_CALLBACK</a></code> intent with an
1743 <code><a href="/reference/com/google/android/gcm/GCMConstants.html#EXTRA_UNREGISTERED">EXTRA_UNREGISTERED</a></code> extra.
1744</p></div>
1745
1746    </div>
1747</div>
1748
1749
1750
1751
1752
1753<!-- ========= METHOD DETAIL ======== -->
1754
1755
1756
1757<!-- ========= END OF CLASS DATA ========= -->
1758<A NAME="navbar_top"></A>
1759
1760<div id="footer" class="wrap" >
1761
1762
1763  <div id="copyright">
1764
1765  Except as noted, this content is licensed under <a
1766  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
1767  For details and restrictions, see the <a href="/license.html">
1768  Content License</a>.
1769  </div>
1770  <div id="build_info">
1771
1772<script src="/timestamp.js" type="text/javascript"></script>
1773<script>document.write(BUILD_TIMESTAMP)</script>
1774
1775  </div>
1776
1777
1778  <div id="footerlinks">
1779
1780  <p>
1781    <a href="/about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
1782    <a href="/legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
1783    <a href="/support.html">Support</a>
1784  </p>
1785  </div>
1786
1787</div> <!-- end footer -->
1788</div> <!-- jd-content -->
1789
1790</div><!-- end doc-content -->
1791
1792</div> <!-- end body-content -->
1793
1794
1795
1796
1797
1798
1799</body>
1800</html>
1801