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"> </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 | <a href="#pubmethods">Methods</a> 641 642 643 644 645 | <a href="#inhmethods">Inherited Methods</a> 646 647| <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"> ↳</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<?></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> | 1782 <a href="/legal.html">Legal</a> | 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