1 <!DOCTYPE html> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 <html> 79 <head> 80 81 82 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 83 <meta name="viewport" content="width=device-width" /> 84 85 <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> 86 <title>LocationListener | Android Developers</title> 87 88 <!-- STYLESHEETS --> 89 <link rel="stylesheet" 90 href="//fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic,bold" title="roboto"> 91 <link href="/assets/css/default.css" rel="stylesheet" type="text/css"> 92 93 94 95 <!-- JAVASCRIPT --> 96 <script src="//www.google.com/jsapi" type="text/javascript"></script> 97 <script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script> 98 <script type="text/javascript"> 99 var toRoot = "/"; 100 var devsite = false; 101 </script> 102 <script src="/assets/js/docs.js" type="text/javascript"></script> 103 104 <script type="text/javascript"> 105 var _gaq = _gaq || []; 106 _gaq.push(['_setAccount', 'UA-5831155-1']); 107 _gaq.push(['_trackPageview']); 108 109 (function() { 110 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 111 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 112 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 113 })(); 114 </script> 115 </head> 116 <body class="gc-documentation google 117 develop" itemscope itemtype="http://schema.org/Article"> 118 <div id="doc-api-level" class="" style="display:none"></div> 119 <a name="top"></a> 120 121 <a name="top"></a> 122 123 <!-- Header --> 124 <div id="header"> 125 <div class="wrap" id="header-wrap"> 126 <div class="col-3 logo"> 127 <a href="/index.html"> 128 <img src="/assets/images/dac_logo.png" width="123" height="25" alt="Android Developers" /> 129 </a> 130 <div class="btn-quicknav" id="btn-quicknav"> 131 <a href="#" class="arrow-inactive">Quicknav</a> 132 <a href="#" class="arrow-active">Quicknav</a> 133 </div> 134 </div> 135 <ul class="nav-x col-9"> 136 <li class="design"> 137 <a href="/design/index.html" 138 zh-tw-lang="" 139 zh-cn-lang="" 140 ru-lang="" 141 ko-lang="" 142 ja-lang="" 143 es-lang="Disear" 144 >Design</a></li> 145 <li class="develop"><a href="/develop/index.html" 146 zh-tw-lang="" 147 zh-cn-lang="" 148 ru-lang="" 149 ko-lang="" 150 ja-lang="" 151 es-lang="Desarrollar" 152 >Develop</a></li> 153 <li class="distribute last"><a href="/distribute/index.html" 154 zh-tw-lang="" 155 zh-cn-lang="" 156 ru-lang="" 157 ko-lang="" 158 ja-lang="" 159 es-lang="Distribuir" 160 >Distribute</a></li> 161 </ul> 162 163 <!-- New Search --> 164 <div class="menu-container"> 165 <div class="moremenu"> 166 <div id="more-btn"></div> 167 </div> 168 <div class="morehover" id="moremenu"> 169 <div class="top"></div> 170 <div class="mid"> 171 <div class="header">Links</div> 172 <ul> 173 <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li> 174 <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> 175 <li><a href="/about/index.html">About Android</a></li> 176 </ul> 177 <div class="header">Android Sites</div> 178 <ul> 179 <li><a href="http://www.android.com">Android.com</a></li> 180 <li class="active"><a>Android Developers</a></li> 181 <li><a href="http://source.android.com">Android Open Source Project</a></li> 182 </ul> 183 184 185 186 <div class="header">Language</div> 187 <div id="language" class="locales"> 188 <select name="language" onChange="changeLangPref(this.value, true)"> 189 <option value="en">English</option> 190 <option value="es">Espaol</option> 191 <option value="ja"></option> 192 <option value="ko"></option> 193 <option value="ru"></option> 194 <option value="zh-cn"> ()</option> 195 <option value="zh-tw"> ()</option> 196 </select> 197 </div> 198 <script type="text/javascript"> 199 <!-- 200 loadLangPref(); 201 //--> 202 </script> 203 204 205 206 207 <br class="clearfix" /> 208 </div> 209 <div class="bottom"></div> 210 </div> 211 <div class="search" id="search-container"> 212 <div class="search-inner"> 213 <div id="search-btn"></div> 214 <div class="left"></div> 215 <form onsubmit="return submit_search()"> 216 <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" 217 onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" 218 onkeydown="return search_changed(event, true, '/')" 219 onkeyup="return search_changed(event, false, '/')" /> 220 </form> 221 <div class="right"></div> 222 <a class="close hide">close</a> 223 <div class="left"></div> 224 <div class="right"></div> 225 </div> 226 </div> 227 228 <div class="search_filtered_wrapper reference"> 229 <div class="suggest-card reference no-display"> 230 <ul class="search_filtered"> 231 </ul> 232 </div> 233 </div> 234 235 <div class="search_filtered_wrapper docs"> 236 <div class="suggest-card dummy no-display"> </div> 237 <div class="suggest-card develop no-display"> 238 <ul class="search_filtered"> 239 </ul> 240 <div class="child-card guides no-display"> 241 </div> 242 <div class="child-card training no-display"> 243 </div> 244 </div> 245 <div class="suggest-card design no-display"> 246 <ul class="search_filtered"> 247 </ul> 248 </div> 249 <div class="suggest-card distribute no-display"> 250 <ul class="search_filtered"> 251 </ul> 252 </div> 253 </div> 254 255 </div> 256 <!-- /New Search> 257 258 259 <!-- Expanded quicknav --> 260 <div id="quicknav" class="col-9"> 261 <ul> 262 <li class="design"> 263 <ul> 264 <li><a href="/design/index.html">Get Started</a></li> 265 <li><a href="/design/style/index.html">Style</a></li> 266 <li><a href="/design/patterns/index.html">Patterns</a></li> 267 <li><a href="/design/building-blocks/index.html">Building Blocks</a></li> 268 <li><a href="/design/downloads/index.html">Downloads</a></li> 269 <li><a href="/design/videos/index.html">Videos</a></li> 270 </ul> 271 </li> 272 <li class="develop"> 273 <ul> 274 <li><a href="/training/index.html" 275 zh-tw-lang="" 276 zh-cn-lang="" 277 ru-lang="" 278 ko-lang="" 279 ja-lang="" 280 es-lang="Capacitacin" 281 >Training</a></li> 282 <li><a href="/guide/components/index.html" 283 zh-tw-lang="API " 284 zh-cn-lang="API " 285 ru-lang=" API" 286 ko-lang="API " 287 ja-lang="API " 288 es-lang="Guas de la API" 289 >API Guides</a></li> 290 <li><a href="/reference/packages.html" 291 zh-tw-lang="" 292 zh-cn-lang="" 293 ru-lang="" 294 ko-lang="" 295 ja-lang="" 296 es-lang="Referencia" 297 >Reference</a></li> 298 <li><a href="/tools/index.html" 299 zh-tw-lang="" 300 zh-cn-lang="" 301 ru-lang="" 302 ko-lang="" 303 ja-lang="" 304 es-lang="Herramientas" 305 >Tools</a> 306 <ul><li><a href="/sdk/index.html">Get the SDK</a></li></ul> 307 </li> 308 <li><a href="/google/index.html">Google Services</a> 309 </li> 310 311 </ul> 312 </li> 313 <li class="distribute last"> 314 <ul> 315 <li><a href="/distribute/index.html">Google Play</a></li> 316 <li><a href="/distribute/googleplay/publish/index.html">Publishing</a></li> 317 <li><a href="/distribute/googleplay/promote/index.html">Promoting</a></li> 318 <li><a href="/distribute/googleplay/quality/index.html">App Quality</a></li> 319 <li><a href="/distribute/googleplay/spotlight/index.html">Spotlight</a></li> 320 <li><a href="/distribute/open.html">Open Distribution</a></li> 321 </ul> 322 </li> 323 </ul> 324 </div> 325 <!-- /Expanded quicknav --> 326 </div> 327 </div> 328 <!-- /Header --> 329 330 331 <div id="searchResults" class="wrap" style="display:none;"> 332 <h2 id="searchTitle">Results</h2> 333 <div id="leftSearchControl" class="search-control">Loading...</div> 334 </div> 335 336 337 338 <!-- Secondary x-nav --> 339 <div id="nav-x"> 340 <div class="wrap"> 341 <ul class="nav-x col-9 develop" style="width:100%"> 342 <li class="training"><a href="/training/index.html" 343 zh-tw-lang="" 344 zh-cn-lang="" 345 ru-lang="" 346 ko-lang="" 347 ja-lang="" 348 es-lang="Capacitacin" 349 >Training</a></li> 350 <li class="guide"><a href="/guide/components/index.html" 351 zh-tw-lang="API " 352 zh-cn-lang="API " 353 ru-lang=" API" 354 ko-lang="API " 355 ja-lang="API " 356 es-lang="Guas de la API" 357 >API Guides</a></li> 358 <li class="reference"><a href="/reference/packages.html" 359 zh-tw-lang="" 360 zh-cn-lang="" 361 ru-lang="" 362 ko-lang="" 363 ja-lang="" 364 es-lang="Referencia" 365 >Reference</a></li> 366 <li class="tools"><a href="/tools/index.html" 367 zh-tw-lang="" 368 zh-cn-lang="" 369 ru-lang="" 370 ko-lang="" 371 ja-lang="" 372 es-lang="Herramientas" 373 >Tools</a></li> 374 <li class="google"><a href="/google/index.html" 375 >Google Services</a> 376 </li> 377 378 </ul> 379 </div> 380 381 </div> 382 <!-- /Sendondary x-nav --> 383 384 385 386 387 388 389 390 391 392 <div class="wrap clearfix" id="body-content"> 393 <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> 394 <div id="devdoc-nav" class="scroll-pane"> 395 <a class="totop" href="#top" data-g-event="left-nav-top">to top</a> 396 397 398 399 <ul id="nav"> 400 401 <li class="nav-section"> 402 <div class="nav-section-header empty"><a href="/google/index.html"> 403 <span class="en">Overview</span> 404 </a></div> 405 </li> 406 407 <li class="nav-section"> 408 <div class="nav-section-header empty"><a href="/google/play-services/games.html"> 409 <span class="en">Games</span> 410 </a></div> 411 </li> 412 <li class="nav-section"> 413 <div class="nav-section-header empty"><a href="/google/play-services/location.html"> 414 <span class="en">Location</span> 415 </a></div> 416 </li> 417 <li class="nav-section"> 418 <div class="nav-section-header empty"><a href="/google/play-services/plus.html"> 419 <span class="en">Google+</span> 420 </a></div> 421 </li> 422 <li class="nav-section"> 423 <div class="nav-section-header empty"><a href="/google/play-services/maps.html"> 424 <span class="en">Maps</span> 425 </a></div> 426 </li> 427 <li class="nav-section"> 428 <div class="nav-section-header"><a href="/google/play-services/ads.html"> 429 <span class="en">Ads</span></a> 430 </div> 431 <ul> 432 <li><a href="/google/play-services/id.html"> 433 <span class="en">Advertising ID</span></a> 434 </li> 435 </ul> 436 </li> 437 <li class="nav-section"> 438 <div class="nav-section-header empty"><a href="/google/play-services/wallet.html"> 439 <span class="en">Wallet</span> 440 </a></div> 441 </li> 442 <li class="nav-section"> 443 <div class="nav-section-header empty"><a href="/google/play-services/auth.html"> 444 <span class="en">Authorization</span> 445 </a></div> 446 </li> 447 448 449 450 <li class="nav-section"> 451 <div class="nav-section-header"><a href="/google/play-services/index.html"> 452 <span class="en">Google Play Services</span></a> 453 </div> 454 <ul> 455 <li><a href="/google/play-services/setup.html"> 456 <span class="en">Setup</span></a> 457 </li> 458 <li id="gms-tree-list" class="nav-section"> 459 <div class="nav-section-header"> 460 <a href="/reference/gms-packages.html"> 461 <span class="en">Reference</span> 462 </a> 463 <div> 464 </li> 465 </ul> 466 </li> 467 468 469 <li class="nav-section"> 470 <div class="nav-section-header"><a href="/google/play/billing/index.html"> 471 <span class="en">Google Play In-app Billing</span></a> 472 </div> 473 <ul> 474 <li><a href="/google/play/billing/billing_overview.html"> 475 <span class="en">Overview</span></a> 476 </li> 477 <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html"> 478 <span class="en">Version 3 API</span></a></div> 479 <ul> 480 <li><a href="/google/play/billing/billing_integrate.html"> 481 <span class="en">Implementing the API</span></a></li> 482 <li><a href="/google/play/billing/billing_reference.html"> 483 <span class="en">Reference</span></a></li> 484 </ul> 485 </li> 486 <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html"> 487 <span class="en">Version 2 API</span></a></div> 488 <ul> 489 <li><a href="/google/play/billing/v2/billing_integrate.html"> 490 <span class="en">Implementing the API</span></a></li> 491 <li><a href="/google/play/billing/v2/billing_subscriptions.html"> 492 <span class="en">Subscriptions</span></a></li> 493 <li><a href="/google/play/billing/v2/billing_reference.html"> 494 <span class="en">Reference</span></a></li> 495 </ul> 496 </li> 497 <li><a href="/google/play/billing/billing_subscriptions.html"> 498 <span class="en">Subscriptions</span></a> 499 </li> 500 <li><a href="/google/play/billing/billing_best_practices.html"> 501 <span class="en">Security and Design</span></a> 502 </li> 503 <li><a href="/google/play/billing/billing_testing.html"> 504 <span class="en">Testing In-app Billing</span></a> 505 </li> 506 <li><a href="/google/play/billing/billing_admin.html"> 507 <span class="en">Administering In-app Billing</span></a> 508 </li> 509 <li><a href="/google/play/billing/gp-purchase-status-api.html"> 510 <span class="en">Purchase Status API</span></a> 511 </li> 512 <li><a href="/google/play/billing/versions.html"> 513 <span class="en">Version Notes</span></a> 514 </li> 515 </ul> 516 </li> 517 518 519 520 <li class="nav-section"> 521 <div class="nav-section-header"><a href="/google/gcm/index.html"> 522 <span class="en">Google Cloud Messaging</span></a> 523 </div> 524 <ul> 525 <li><a href="/google/gcm/gs.html"> 526 <span class="en">Getting Started</span></a> 527 </li> 528 <li><a href="/google/gcm/gcm.html"> 529 <span class="en">Architectural Overview</span></a> 530 </li> 531 <li><a href="/google/gcm/ccs.html"> 532 <span class="en">Cloud Connection Server</span></a> 533 </li> 534 <li><a href="/google/gcm/notifications.html"> 535 <span class="en">User Notifications</span></a> 536 </li> 537 <li><a href="/google/gcm/client.html"> 538 <span class="en">GCM Client</span></a> 539 </li> 540 <li><a href="/google/gcm/server.html"> 541 <span class="en">GCM Server</span></a> 542 </li> 543 <li><a href="/google/gcm/adv.html"> 544 <span class="en">Advanced Topics</span></a> 545 </li> 546 <li><a href="/google/gcm/c2dm.html"> 547 <span class="en">Migration</span></a> 548 </li> 549 <li id="gcm-tree-list" class="nav-section"> 550 <div class="nav-section-header"> 551 <a href="/reference/gcm-packages.html"> 552 <span class="en">Reference</span> 553 </a> 554 <div> 555 </li> 556 </ul> 557 </li> 558 559 <li class="nav-section"> 560 <div class="nav-section-header"><a href="/google/play/dist.html"> 561 <span class="en">Google Play Distribution</span></a> 562 </div> 563 <ul> 564 <li><a href="/google/play/filters.html"> 565 <span class="en">Filters on Google Play</span></a> 566 </li> 567 568 <li><a href="/google/play/publishing/multiple-apks.html"> 569 <span class="en">Multiple APK Support</span></a> 570 </li> 571 <li><a href="/google/play/expansion-files.html"> 572 <span class="en">APK Expansion Files</span></a> 573 </li> 574 <li class="nav-section"> 575 <div class="nav-section-header"><a href="/google/play/licensing/index.html"> 576 <span class="en">Application Licensing</span></a> 577 </div> 578 <ul> 579 <li><a href="/google/play/licensing/overview.html"> 580 <span class="en">Licensing Overview</span></a> 581 </li> 582 <li><a href="/google/play/licensing/setting-up.html"> 583 <span class="en">Setting Up for Licensing</span></a> 584 </li> 585 <li><a href="/google/play/licensing/adding-licensing.html"> 586 <span class="en">Adding Licensing to Your App</span></a> 587 </li> 588 <li><a href="/google/play/licensing/licensing-reference.html"> 589 <span class="en">Licensing Reference</span></a> 590 </li> 591 </ul> 592 </li> 593 594 <li class="nav-section"> 595 <div class="nav-section-header"><a href="/google/backup/index.html"> 596 Android Backup Service</a> 597 </div> 598 <ul> 599 <li><a href="/google/backup/signup.html"> 600 Register</a> 601 </li> 602 </ul> 603 </li> 604 605 </ul> 606 607 </li> 608 609 610 611 </ul> 612 613 <script type="text/javascript"> 614 <!-- 615 buildToggleLists(); 616 changeNavLang(getLangPref()); 617 //--> 618 </script> 619 620 621 622 623 </div> 624 <script type="text/javascript"> 625 showGoogleRefTree(); 626 627 </script> 628 </div> <!-- end side-nav --> 629 <script> 630 $(document).ready(function() { 631 scrollIntoView("devdoc-nav"); 632 }); 633 </script> 634 635 636 637 638 639 640 <div class="col-12" id="doc-col"> 641 642 <div id="api-info-block"> 643 644 645 646 647 <div class="sum-details-links"> 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 665 666 interface 667 <h1 itemprop="name">LocationListener</h1> 668 669 670 671 672 673 674 675 676 </div><!-- end header --> 677 678 <div id="naMessage"></div> 679 680 <div id="jd-content" class="api apilevel-"> 681 <table class="jd-inheritance-table"> 682 683 684 <tr> 685 686 <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.location.LocationListener</td> 687 </tr> 688 689 690 </table> 691 692 693 694 695 696 697 698 <div class="jd-descr"> 699 700 701 <h2>Class Overview</h2> 702 <p itemprop="articleBody">Used for receiving notifications from the <code><a href="/reference/com/google/android/gms/location/LocationClient.html">LocationClient</a></code> when the location has changed. 703 The methods are called if the LocationListener has been registered with the location client 704 using the 705 <code><a href="/reference/com/google/android/gms/location/LocationClient.html#requestLocationUpdates(com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationListener)">requestLocationUpdates(LocationRequest, LocationListener)</a></code> or 706 <code><a href="/reference/com/google/android/gms/location/LocationClient.html#requestLocationUpdates(com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationListener, android.os.Looper)">requestLocationUpdates(LocationRequest, LocationListener, Looper)</a></code> methods. 707 </p> 708 709 710 711 712 713 </div><!-- jd-descr --> 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 <div class="jd-descr"> 731 732 733 <h2>Summary</h2> 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 <!-- ========== METHOD SUMMARY =========== --> 762 <table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr> 763 764 765 766 767 <tr class="alt-color api apilevel-" > 768 <td class="jd-typecol"><nobr> 769 abstract 770 771 772 773 774 void</nobr> 775 </td> 776 <td class="jd-linkcol" width="100%"><nobr> 777 <span class="sympad"><a href="/reference/com/google/android/gms/location/LocationListener.html#onLocationChanged(android.location.Location)">onLocationChanged</a></span>(Location location)</nobr> 778 779 <div class="jd-descrdiv">Called when the location has changed.</div> 780 781 </td></tr> 782 783 784 785 </table> 786 787 788 789 790 791 792 793 </div><!-- jd-descr (summary) --> 794 795 <!-- Details --> 796 797 798 799 800 801 802 803 804 <!-- XML Attributes --> 805 806 807 <!-- Enum Values --> 808 809 810 <!-- Constants --> 811 812 813 <!-- Fields --> 814 815 816 <!-- Public ctors --> 817 818 819 820 <!-- ========= CONSTRUCTOR DETAIL ======== --> 821 <!-- Protected ctors --> 822 823 824 825 <!-- ========= METHOD DETAIL ======== --> 826 <!-- Public methdos --> 827 828 <h2>Public Methods</h2> 829 830 831 832 <A NAME="onLocationChanged(android.location.Location)"></A> 833 834 <div class="jd-details api apilevel-"> 835 <h4 class="jd-details-title"> 836 <span class="normal"> 837 public 838 839 840 abstract 841 842 void 843 </span> 844 <span class="sympad">onLocationChanged</span> 845 <span class="normal">(Location location)</span> 846 </h4> 847 <div class="api-level"> 848 <div></div> 849 850 851 852 </div> 853 <div class="jd-details-descr"> 854 855 <div class="jd-tagdata jd-tagdescr"><p>Called when the location has changed.</p></div> 856 <div class="jd-tagdata"> 857 <h5 class="jd-tagtitle">Parameters</h5> 858 <table class="jd-tagtable"> 859 <tr> 860 <th>location</td> 861 <td>The updated location. 862 </td> 863 </tr> 864 </table> 865 </div> 866 867 </div> 868 </div> 869 870 871 872 873 874 <!-- ========= METHOD DETAIL ======== --> 875 876 877 878 <!-- ========= END OF CLASS DATA ========= --> 879 <A NAME="navbar_top"></A> 880 881 <div id="footer" class="wrap" > 882 883 884 <div id="copyright"> 885 886 Except as noted, this content is licensed under <a 887 href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. 888 For details and restrictions, see the <a href="/license.html"> 889 Content License</a>. 890 </div> 891 <div id="build_info"> 892 893 <script src="/timestamp.js" type="text/javascript"></script> 894 <script>document.write(BUILD_TIMESTAMP)</script> 895 896 </div> 897 898 899 <div id="footerlinks"> 900 901 <p> 902 <a href="/about/index.html">About Android</a> | 903 <a href="/legal.html">Legal</a> | 904 <a href="/support.html">Support</a> 905 </p> 906 </div> 907 908 </div> <!-- end footer --> 909 </div> <!-- jd-content --> 910 911 </div><!-- end doc-content --> 912 913 </div> <!-- end body-content --> 914 915 916 917 918 919 920 </body> 921 </html> 922