blob: 8bc1d1ced9507f3fe7183b239d5e5a5c72cc4f7c [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" />
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<title>LocationClient | Android Developers</title>
<!-- STYLESHEETS -->
<link rel="stylesheet"
href="//fonts.googleapis.com/css?family=Roboto+Condensed">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
title="roboto">
<link href="/assets/css/default.css?v=2" rel="stylesheet" type="text/css">
<!-- JAVASCRIPT -->
<script src="//www.google.com/jsapi" type="text/javascript"></script>
<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
<script type="text/javascript">
var toRoot = "/";
var metaTags = [];
var devsite = false;
</script>
<script src="/assets/js/docs.js?v=2" type="text/javascript"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-5831155-1', 'android.com');
ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
ga('send', 'pageview');
ga('universal.send', 'pageview'); // Send page view for new tracker.
</script>
</head>
<body class="gc-documentation google
develop" itemscope itemtype="http://schema.org/Article">
<div id="doc-api-level" class="" style="display:none"></div>
<a name="top"></a>
<a name="top"></a>
<!-- Header -->
<div id="header-wrapper">
<div id="header">
<div class="wrap" id="header-wrap">
<div class="col-3 logo">
<a href="/index.html">
<img src="/assets/images/dac_logo.png"
srcset="/assets/images/dac_logo@2x.png 2x"
width="123" height="25" alt="Android Developers" />
</a>
<div class="btn-quicknav" id="btn-quicknav">
<a href="#" class="arrow-inactive">Quicknav</a>
<a href="#" class="arrow-active">Quicknav</a>
</div>
</div>
<ul class="nav-x col-9">
<li class="design">
<a href="/design/index.html"
zh-tw-lang="設計"
zh-cn-lang="设计"
ru-lang="Проектирование"
ko-lang="디자인"
ja-lang="設計"
es-lang="Diseñar"
>Design</a></li>
<li class="develop"><a href="/develop/index.html"
zh-tw-lang="開發"
zh-cn-lang="开发"
ru-lang="Разработка"
ko-lang="개발"
ja-lang="開発"
es-lang="Desarrollar"
>Develop</a></li>
<li class="distribute last"><a href="/distribute/index.html"
zh-tw-lang="發佈"
zh-cn-lang="分发"
ru-lang="Распространение"
ko-lang="배포"
ja-lang="配布"
es-lang="Distribuir"
>Distribute</a></li>
</ul>
<div class="menu-container">
<div class="moremenu">
<div id="more-btn"></div>
</div>
<div class="morehover" id="moremenu">
<div class="top"></div>
<div class="mid">
<div class="header">Links</div>
<ul>
<li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
<li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
<li><a href="/about/index.html">About Android</a></li>
</ul>
<div class="header">Android Sites</div>
<ul>
<li><a href="http://www.android.com">Android.com</a></li>
<li class="active"><a>Android Developers</a></li>
<li><a href="http://source.android.com">Android Open Source Project</a></li>
</ul>
<div class="header">Language</div>
<div id="language" class="locales">
<select name="language" onChange="changeLangPref(this.value, true)">
<option value="en">English</option>
<option value="es">Español</option>
<option value="ja">日本語</option>
<option value="ko">한국어</option>
<option value="ru">Русский</option>
<option value="zh-cn">中文 (中国)</option>
<option value="zh-tw">中文 (台灣)</option>
</select>
</div>
<script type="text/javascript">
<!--
loadLangPref();
//-->
</script>
<br class="clearfix" />
</div><!-- end 'mid' -->
<div class="bottom"></div>
</div><!-- end 'moremenu' -->
<div class="search" id="search-container">
<div class="search-inner">
<div id="search-btn"></div>
<div class="left"></div>
<form onsubmit="return submit_search()">
<input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
onkeydown="return search_changed(event, true, '/')"
onkeyup="return search_changed(event, false, '/')" />
</form>
<div class="right"></div>
<a class="close hide">close</a>
<div class="left"></div>
<div class="right"></div>
</div><!-- end search-inner -->
</div><!-- end search-container -->
<div class="search_filtered_wrapper reference">
<div class="suggest-card reference no-display">
<ul class="search_filtered">
</ul>
</div>
</div>
<div class="search_filtered_wrapper docs">
<div class="suggest-card dummy no-display">&nbsp;</div>
<div class="suggest-card develop no-display">
<ul class="search_filtered">
</ul>
<div class="child-card guides no-display">
</div>
<div class="child-card training no-display">
</div>
<div class="child-card samples no-display">
</div>
</div>
<div class="suggest-card design no-display">
<ul class="search_filtered">
</ul>
</div>
<div class="suggest-card distribute no-display">
<ul class="search_filtered">
</ul>
</div>
</div>
</div><!-- end menu-container (search and menu widget) -->
<!-- Expanded quicknav -->
<div id="quicknav" class="col-13">
<ul>
<li class="about">
<ul>
<li><a href="/about/index.html">About</a></li>
<li><a href="/wear/index.html">Wear</a></li>
<li><a href="/tv/index.html">TV</a></li>
<li><a href="/auto/index.html">Auto</a></li>
</ul>
</li>
<li class="design">
<ul>
<li><a href="/design/index.html">Get Started</a></li>
<li><a href="/design/devices.html">Devices</a></li>
<li><a href="/design/style/index.html">Style</a></li>
<li><a href="/design/patterns/index.html">Patterns</a></li>
<li><a href="/design/building-blocks/index.html">Building Blocks</a></li>
<li><a href="/design/downloads/index.html">Downloads</a></li>
<li><a href="/design/videos/index.html">Videos</a></li>
</ul>
</li>
<li class="develop">
<ul>
<li><a href="/training/index.html"
zh-tw-lang="訓練課程"
zh-cn-lang="培训"
ru-lang="Курсы"
ko-lang="교육"
ja-lang="トレーニング"
es-lang="Capacitación"
>Training</a></li>
<li><a href="/guide/index.html"
zh-tw-lang="API 指南"
zh-cn-lang="API 指南"
ru-lang="Руководства по API"
ko-lang="API 가이드"
ja-lang="API ガイド"
es-lang="Guías de la API"
>API Guides</a></li>
<li><a href="/reference/packages.html"
zh-tw-lang="參考資源"
zh-cn-lang="参考"
ru-lang="Справочник"
ko-lang="참조문서"
ja-lang="リファレンス"
es-lang="Referencia"
>Reference</a></li>
<li><a href="/sdk/index.html"
zh-tw-lang="相關工具"
zh-cn-lang="工具"
ru-lang="Инструменты"
ko-lang="도구"
ja-lang="ツール"
es-lang="Herramientas"
>Tools</a>
</li>
<li><a href="/google/index.html">Google Services</a>
</li>
<li><a href="/samples/index.html">Samples</a>
</li>
</ul>
</li>
<li class="distribute last">
<ul>
<li><a href="/distribute/googleplay/index.html">Google Play</a></li>
<li><a href="/distribute/essentials/index.html">Essentials</a></li>
<li><a href="/distribute/users/index.html">Get Users</a></li>
<li><a href="/distribute/engage/index.html">Engage &amp; Retain</a></li>
<li><a href="/distribute/monetize/index.html">Monetize</a></li>
<li><a href="/distribute/tools/index.html">Tools &amp; Reference</a></li>
<li><a href="/distribute/stories/index.html">Developer Stories</a></li>
</ul>
</li>
</ul>
</div><!-- /Expanded quicknav -->
</div><!-- end header-wrap.wrap -->
</div><!-- end header -->
<!-- Secondary x-nav -->
<div id="nav-x">
<div class="wrap">
<ul class="nav-x col-9 develop" style="width:100%">
<li class="training"><a href="/training/index.html"
zh-tw-lang="訓練課程"
zh-cn-lang="培训"
ru-lang="Курсы"
ko-lang="교육"
ja-lang="トレーニング"
es-lang="Capacitación"
>Training</a></li>
<li class="guide"><a href="/guide/index.html"
zh-tw-lang="API 指南"
zh-cn-lang="API 指南"
ru-lang="Руководства по API"
ko-lang="API 가이드"
ja-lang="API ガイド"
es-lang="Guías de la API"
>API Guides</a></li>
<li class="reference"><a href="/reference/packages.html"
zh-tw-lang="參考資源"
zh-cn-lang="参考"
ru-lang="Справочник"
ko-lang="참조문서"
ja-lang="リファレンス"
es-lang="Referencia"
>Reference</a></li>
<li class="tools"><a href="/sdk/index.html"
zh-tw-lang="相關工具"
zh-cn-lang="工具"
ru-lang="Инструменты"
ko-lang="도구"
ja-lang="ツール"
es-lang="Herramientas"
>Tools</a></li>
<li class="google"><a href="/google/index.html"
>Google Services</a>
</li>
<li class="samples"><a href="/samples/index.html"
>Samples</a>
</li>
</ul>
</div>
</div>
<!-- /Sendondary x-nav DEVELOP -->
<div id="searchResults" class="wrap" style="display:none;">
<h2 id="searchTitle">Results</h2>
<div id="leftSearchControl" class="search-control">Loading...</div>
</div>
</div> <!--end header-wrapper -->
<div id="sticky-header">
<div>
<a class="logo" href="#top"></a>
<a class="top" href="#top"></a>
<ul class="breadcrumb">
<li class="current">LocationClient</li>
</ul>
</div>
</div>
<div class="wrap clearfix" id="body-content">
<div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
<div id="devdoc-nav" class="scroll-pane">
<ul id="nav">
<li class="nav-section">
<div class="nav-section-header empty"><a href="/google/index.html">
<span class="en">Overview</span>
</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="/google/play-services/games.html">
<span class="en">Games</span>
</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="/google/play-services/location.html">
<span class="en">Location</span>
</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="/google/play-services/plus.html">
<span class="en">Google+</span>
</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="/google/play-services/maps.html">
<span class="en">Maps</span>
</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="/google/play-services/drive.html">
<span class="en">Drive</span>
</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="/google/play-services/cast.html">
<span class="en">Cast</span>
</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/ads.html">
<span class="en">Ads</span></a>
</div>
<ul>
<li><a href="/google/play-services/id.html">
<span class="en">Advertising ID</span></a>
</li>
</ul>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
<span class="en">Wallet</span>
</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play-services/index.html">
<span class="en">Google Play Services</span></a>
</div>
<ul>
<li><a href="/google/play-services/setup.html">
<span class="en">Setting Up Google Play Services</span></a>
</li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/auth/api-client.html">
<span class="en">Accessing Google APIs</span></a>
</div>
<ul>
<li>
<a href="/google/auth/http-auth.html">
<span class="en">Authorizing with Google for REST APIs</span>
</a>
</li>
</ul>
</li>
<li id="gms-tree-list" class="nav-section">
<div class="nav-section-header">
<a href="/reference/gms-packages.html">
<span class="en">Reference</span>
</a>
<div>
</li>
</ul>
</li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play/billing/index.html">
<span class="en">Google Play In-app Billing</span></a>
</div>
<ul>
<li><a href="/google/play/billing/billing_overview.html">
<span class="en">Overview</span></a>
</li>
<li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html">
<span class="en">Version 3 API</span></a></div>
<ul>
<li><a href="/google/play/billing/billing_integrate.html">
<span class="en">Implementing the API</span></a></li>
<li><a href="/google/play/billing/billing_reference.html">
<span class="en">Reference</span></a></li>
</ul>
</li>
<li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
<span class="en">Version 2 API</span></a></div>
<ul>
<li><a href="/google/play/billing/v2/billing_integrate.html">
<span class="en">Implementing the API</span></a></li>
<li><a href="/google/play/billing/v2/billing_subscriptions.html">
<span class="en">Subscriptions</span></a></li>
<li><a href="/google/play/billing/v2/billing_reference.html">
<span class="en">Reference</span></a></li>
</ul>
</li>
<li><a href="/google/play/billing/billing_subscriptions.html">
<span class="en">Subscriptions</span></a>
</li>
<li><a href="/google/play/billing/billing_best_practices.html">
<span class="en">Security and Design</span></a>
</li>
<li><a href="/google/play/billing/billing_testing.html">
<span class="en">Testing In-app Billing</span></a>
</li>
<li><a href="/google/play/billing/billing_admin.html">
<span class="en">Administering In-app Billing</span></a>
</li>
<li><a href="/google/play/billing/versions.html">
<span class="en">Version Notes</span></a>
</li>
</ul>
</li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/gcm/index.html">
<span class="en">Google Cloud Messaging</span></a>
</div>
<ul>
<li><a href="/google/gcm/gcm.html">
<span class="en">Overview</span></a>
</li>
<li><a href="/google/gcm/gs.html">
<span class="en">Getting Started</span></a>
</li>
<li><a href="/google/gcm/client.html">
<span class="en">Implementing GCM Client</span></a>
</li>
<li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
<span class="en">Implementing GCM Server</span></a></div>
<ul>
<li><a href="/google/gcm/ccs.html">
<span class="en">CCS (XMPP)</span></a></li>
<li><a href="/google/gcm/http.html">
<span class="en">HTTP</span></a></li>
</ul>
</li>
<li><a href="/google/gcm/notifications.html">
<span class="en">User Notifications</span></a>
</li>
<li><a href="/google/gcm/adv.html">
<span class="en">Advanced Topics</span></a>
</li>
<li><a href="/google/gcm/c2dm.html">
<span class="en">Migration</span></a>
</li>
<li id="gcm-tree-list" class="nav-section">
<div class="nav-section-header">
<a href="/reference/gcm-packages.html">
<span class="en">Reference</span>
</a>
<div>
</li>
</ul>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="/google/gcs/index.html">
<span class="en">Google Cloud Save</span></a>
</div>
</li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play/dist.html">
<span class="en">Google Play Distribution</span></a>
</div>
<ul>
<li><a href="/google/play/filters.html">
<span class="en">Filters on Google Play</span></a>
</li>
<li><a href="/google/play/billing/gp-purchase-status-api.html">
<span class="en">Google Play Developer API</span></a>
</li>
<li><a href="/google/play/publishing/multiple-apks.html">
<span class="en">Multiple APK Support</span></a>
</li>
<li><a href="/google/play/expansion-files.html">
<span class="en">APK Expansion Files</span></a>
</li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/play/licensing/index.html">
<span class="en">Application Licensing</span></a>
</div>
<ul>
<li><a href="/google/play/licensing/overview.html">
<span class="en">Licensing Overview</span></a>
</li>
<li><a href="/google/play/licensing/setting-up.html">
<span class="en">Setting Up for Licensing</span></a>
</li>
<li><a href="/google/play/licensing/adding-licensing.html">
<span class="en">Adding Licensing to Your App</span></a>
</li>
<li><a href="/google/play/licensing/licensing-reference.html">
<span class="en">Licensing Reference</span></a>
</li>
</ul>
</li>
<li class="nav-section">
<div class="nav-section-header"><a href="/google/backup/index.html">
Android Backup Service</a>
</div>
<ul>
<li><a href="/google/backup/signup.html">
Register</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<script type="text/javascript">
<!--
buildToggleLists();
changeNavLang(getLangPref());
//-->
</script>
</div>
<script type="text/javascript">
showGoogleRefTree();
</script>
</div> <!-- end side-nav -->
<script>
$(document).ready(function() {
scrollIntoView("devdoc-nav");
});
</script>
<div class="col-12" id="doc-col">
<div id="api-info-block">
<div class="sum-details-links">
Summary:
<a href="#nestedclasses">Nested Classes</a>
&#124; <a href="#constants">Constants</a>
&#124; <a href="#pubctors">Ctors</a>
&#124; <a href="#pubmethods">Methods</a>
&#124; <a href="#inhmethods">Inherited Methods</a>
&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
</div><!-- end sum-details-links -->
<div class="api-level">
</div>
</div><!-- end api-info-block -->
<!-- ======== START OF CLASS DATA ======== -->
<div id="jd-header">
public
class
<h1 itemprop="name">LocationClient</h1>
extends Object<br/>
implements
<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html">GooglePlayServicesClient</a>
</div><!-- end header -->
<div id="naMessage"></div>
<div id="jd-content" class="api apilevel-">
<table class="jd-inheritance-table">
<tr>
<td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
</tr>
<tr>
<td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
<td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.location.LocationClient</td>
</tr>
</table>
<div class="jd-descr">
<p>
<p class="caution"><strong>
This class is deprecated.</strong><br/>
Use <code><a href="/reference/com/google/android/gms/location/LocationServices.html">LocationServices</a></code>.
</p>
<h2>Class Overview</h2>
<p itemprop="articleBody">The LocationClient is the main entry point for location related APIs,
such as location and geofence.
<p>
Use the LocationClient to:
<ul>
<li>Connect and disconnect to Google Location Services.
<li>Request/remove location update callbacks.
<li>Request/remove geofences.
</ul>
<p>
In order to establish a connection, call <code><a href="/reference/com/google/android/gms/location/LocationClient.html#connect()">connect()</a></code> and wait for the
<code><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected(android.os.Bundle)</a></code> callback.</p>
</div><!-- jd-descr -->
<div class="jd-descr">
<h2>Summary</h2>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
interface</nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationClient.OnAddGeofencesResultListener.html">LocationClient.OnAddGeofencesResultListener</a></td>
<td class="jd-descrcol" width="100%">The listener for receiving callbacks when the operation to add geofences
completes.&nbsp;</td>
</tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
interface</nobr></td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html">LocationClient.OnRemoveGeofencesResultListener</a></td>
<td class="jd-descrcol" width="100%">The listener for receiving callbacks when the operation to remove
geofences completes.&nbsp;</td>
</tr>
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol">String</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationClient.html#KEY_LOCATION_CHANGED">KEY_LOCATION_CHANGED</a></td>
<td class="jd-descrcol" width="100%">Key used for a Bundle extra holding a Location value when a location change is broadcast
using a PendingIntent.</td>
</tr>
<tr class=" api apilevel-" >
<td class="jd-typecol">String</td>
<td class="jd-linkcol"><a href="/reference/com/google/android/gms/location/LocationClient.html#KEY_MOCK_LOCATION">KEY_MOCK_LOCATION</a></td>
<td class="jd-descrcol" width="100%">Key used for the Bundle extra in Location object holding a boolean indicating whether
the location was set using <code><a href="/reference/com/google/android/gms/location/LocationClient.html#setMockLocation(android.location.Location)">setMockLocation(Location)</a></code>.</td>
</tr>
</table>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#LocationClient(android.content.Context, com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks, com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">LocationClient</a></span>(Context context, <a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> connectionCallbacks, <a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> connectionFailedListener)</nobr>
<div class="jd-descrdiv">Creates a <code><a href="/reference/com/google/android/gms/location/LocationClient.html">LocationClient</a></code>.</div>
</td></tr>
</table>
<!-- ========== METHOD SUMMARY =========== -->
<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#addGeofences(java.util.List<com.google.android.gms.location.Geofence>, android.app.PendingIntent, com.google.android.gms.location.LocationClient.OnAddGeofencesResultListener)">addGeofences</a></span>(List&lt;<a href="/reference/com/google/android/gms/location/Geofence.html">Geofence</a>&gt; geofences, PendingIntent pendingIntent, <a href="/reference/com/google/android/gms/location/LocationClient.OnAddGeofencesResultListener.html">LocationClient.OnAddGeofencesResultListener</a> listener)</nobr>
<div class="jd-descrdiv">Sets alerts to be notified when the device enters or exits one of the
specified geofences.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#connect()">connect</a></span>()</nobr>
<div class="jd-descrdiv">Connects the client to Google Play services.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#disconnect()">disconnect</a></span>()</nobr>
<div class="jd-descrdiv">Closes the connection to Google Play services.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
static
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#getErrorCode(android.content.Intent)">getErrorCode</a></span>(Intent intent)</nobr>
<div class="jd-descrdiv">Returns the error code that explains the error that triggered this
intent.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
static
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#getGeofenceTransition(android.content.Intent)">getGeofenceTransition</a></span>(Intent intent)</nobr>
<div class="jd-descrdiv">Returns the transition type of geofence transition alert.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
Location</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#getLastLocation()">getLastLocation</a></span>()</nobr>
<div class="jd-descrdiv">Returns the best most recent location currently available.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
static
List&lt;<a href="/reference/com/google/android/gms/location/Geofence.html">Geofence</a>&gt;</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#getTriggeringGeofences(android.content.Intent)">getTriggeringGeofences</a></span>(Intent intent)</nobr>
<div class="jd-descrdiv">Returns a list of geofences that triggers this geofence transition alert.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
static
Location</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#getTriggeringLocation(android.content.Intent)">getTriggeringLocation</a></span>(Intent intent)</nobr>
<div class="jd-descrdiv">Gets the location that triggered geofence transition.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
static
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#hasError(android.content.Intent)">hasError</a></span>(Intent intent)</nobr>
<div class="jd-descrdiv">Whether an error triggered this intent.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#isConnected()">isConnected</a></span>()</nobr>
<div class="jd-descrdiv">Checks if the client is currently connected to the service, so that
requests to other methods will succeed.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#isConnecting()">isConnecting</a></span>()</nobr>
<div class="jd-descrdiv">Checks if the client is attempting to connect to the service.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#isConnectionCallbacksRegistered(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">isConnectionCallbacksRegistered</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
<div class="jd-descrdiv">Returns true if the specified listener is currently registered to
receive connection events.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#isConnectionFailedListenerRegistered(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">isConnectionFailedListenerRegistered</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
<div class="jd-descrdiv">Returns true if the specified listener is currently registered to
receive connection failed events.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#registerConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">registerConnectionCallbacks</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
<div class="jd-descrdiv">Registers a listener to receive connection events from this <code>GooglePlayServicesClient</code>.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#registerConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">registerConnectionFailedListener</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
<div class="jd-descrdiv">Registers a listener to receive connection failed events from this
<code>GooglePlayServicesClient</code>.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#removeGeofences(java.util.List<java.lang.String>, com.google.android.gms.location.LocationClient.OnRemoveGeofencesResultListener)">removeGeofences</a></span>(List&lt;String&gt; geofenceRequestIds, <a href="/reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html">LocationClient.OnRemoveGeofencesResultListener</a> listener)</nobr>
<div class="jd-descrdiv">Removes geofences by their request IDs.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#removeGeofences(android.app.PendingIntent, com.google.android.gms.location.LocationClient.OnRemoveGeofencesResultListener)">removeGeofences</a></span>(PendingIntent pendingIntent, <a href="/reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html">LocationClient.OnRemoveGeofencesResultListener</a> listener)</nobr>
<div class="jd-descrdiv">Removes all geofences associated with the given <code>pendingIntent</code>.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#removeLocationUpdates(com.google.android.gms.location.LocationListener)">removeLocationUpdates</a></span>(<a href="/reference/com/google/android/gms/location/LocationListener.html">LocationListener</a> listener)</nobr>
<div class="jd-descrdiv">Removes all location updates for the given location listener.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#removeLocationUpdates(android.app.PendingIntent)">removeLocationUpdates</a></span>(PendingIntent callbackIntent)</nobr>
<div class="jd-descrdiv">Removes all location updates for the given pending intent.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#requestLocationUpdates(com.google.android.gms.location.LocationRequest, android.app.PendingIntent)">requestLocationUpdates</a></span>(<a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a> request, PendingIntent callbackIntent)</nobr>
<div class="jd-descrdiv">Requests location updates with a callback on the specified PendingIntent.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#requestLocationUpdates(com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationListener)">requestLocationUpdates</a></span>(<a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a> request, <a href="/reference/com/google/android/gms/location/LocationListener.html">LocationListener</a> listener)</nobr>
<div class="jd-descrdiv">Requests location updates.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><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</a></span>(<a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a> request, <a href="/reference/com/google/android/gms/location/LocationListener.html">LocationListener</a> listener, Looper looper)</nobr>
<div class="jd-descrdiv">Requests location updates with a callback on the specified Looper thread.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#setMockLocation(android.location.Location)">setMockLocation</a></span>(Location mockLocation)</nobr>
<div class="jd-descrdiv">Sets the mock location to be used for the location provider.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#setMockMode(boolean)">setMockMode</a></span>(boolean isMockMode)</nobr>
<div class="jd-descrdiv">Sets whether or not the location provider is in mock mode.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#unregisterConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">unregisterConnectionCallbacks</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
<div class="jd-descrdiv">Removes a connection listener from this <code>GooglePlayServicesClient</code>.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/location/LocationClient.html#unregisterConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">unregisterConnectionFailedListener</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
<div class="jd-descrdiv">Removes a connection failed listener from the <code>GooglePlayServicesClient</code>.</div>
</td></tr>
</table>
<!-- ========== METHOD SUMMARY =========== -->
<table id="inhmethods" class="jd-sumtable"><tr><th>
<a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
<div style="clear:left;">Inherited Methods</div></th></tr>
<tr class="api apilevel-" >
<td colspan="12">
<a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
><img id="inherited-methods-java.lang.Object-trigger"
src="/assets/images/triangle-closed.png"
class="jd-expando-trigger-img" /></a>
From class
java.lang.Object
<div id="inherited-methods-java.lang.Object">
<div id="inherited-methods-java.lang.Object-list"
class="jd-inheritedlinks">
</div>
<div id="inherited-methods-java.lang.Object-summary" style="display: none;">
<table class="jd-sumtable-expando">
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
Object</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">clone</span>()</nobr>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">equals</span>(Object arg0)</nobr>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">finalize</span>()</nobr>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
final
Class&lt;?&gt;</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">getClass</span>()</nobr>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
int</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">hashCode</span>()</nobr>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
final
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">notify</span>()</nobr>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
final
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">notifyAll</span>()</nobr>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
String</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">toString</span>()</nobr>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
final
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">wait</span>()</nobr>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
final
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">wait</span>(long arg0, int arg1)</nobr>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
final
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad">wait</span>(long arg0)</nobr>
</td></tr>
</table>
</div>
</div>
</td></tr>
<tr class="api apilevel-" >
<td colspan="12">
<a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.GooglePlayServicesClient" class="jd-expando-trigger closed"
><img id="inherited-methods-com.google.android.gms.common.GooglePlayServicesClient-trigger"
src="/assets/images/triangle-closed.png"
class="jd-expando-trigger-img" /></a>
From interface
<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html">com.google.android.gms.common.GooglePlayServicesClient</a>
<div id="inherited-methods-com.google.android.gms.common.GooglePlayServicesClient">
<div id="inherited-methods-com.google.android.gms.common.GooglePlayServicesClient-list"
class="jd-inheritedlinks">
</div>
<div id="inherited-methods-com.google.android.gms.common.GooglePlayServicesClient-summary" style="display: none;">
<table class="jd-sumtable-expando">
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#connect()">connect</a></span>()</nobr>
<div class="jd-descrdiv">Connects the client to Google Play services.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#disconnect()">disconnect</a></span>()</nobr>
<div class="jd-descrdiv">Closes the connection to Google Play services.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#isConnected()">isConnected</a></span>()</nobr>
<div class="jd-descrdiv">Checks if the client is currently connected to the service, so that
requests to other methods will succeed.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#isConnecting()">isConnecting</a></span>()</nobr>
<div class="jd-descrdiv">Checks if the client is attempting to connect to the service.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#isConnectionCallbacksRegistered(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">isConnectionCallbacksRegistered</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
<div class="jd-descrdiv">Returns true if the specified listener is currently registered to
receive connection events.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
boolean</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#isConnectionFailedListenerRegistered(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">isConnectionFailedListenerRegistered</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
<div class="jd-descrdiv">Returns true if the specified listener is currently registered to
receive connection failed events.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#registerConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">registerConnectionCallbacks</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
<div class="jd-descrdiv">Registers a listener to receive connection events from this <code>GooglePlayServicesClient</code>.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#registerConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">registerConnectionFailedListener</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
<div class="jd-descrdiv">Registers a listener to receive connection failed events from this
<code>GooglePlayServicesClient</code>.</div>
</td></tr>
<tr class="alt-color api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#unregisterConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">unregisterConnectionCallbacks</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
<div class="jd-descrdiv">Removes a connection listener from this <code>GooglePlayServicesClient</code>.</div>
</td></tr>
<tr class=" api apilevel-" >
<td class="jd-typecol"><nobr>
abstract
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#unregisterConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">unregisterConnectionFailedListener</a></span>(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
<div class="jd-descrdiv">Removes a connection failed listener from the <code>GooglePlayServicesClient</code>.</div>
</td></tr>
</table>
</div>
</div>
</td></tr>
</table>
</div><!-- jd-descr (summary) -->
<!-- Details -->
<!-- XML Attributes -->
<!-- Enum Values -->
<!-- Constants -->
<!-- ========= ENUM CONSTANTS DETAIL ======== -->
<h2>Constants</h2>
<A NAME="KEY_LOCATION_CHANGED"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
final
String
</span>
KEY_LOCATION_CHANGED
</h4>
<div class="api-level">
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Key used for a Bundle extra holding a Location value when a location change is broadcast
using a PendingIntent.
</p></div>
<div class="jd-tagdata">
<span class="jd-tagtitle">Constant Value: </span>
<span>
"com.google.android.location.LOCATION"
</span>
</div>
</div>
</div>
<A NAME="KEY_MOCK_LOCATION"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
final
String
</span>
KEY_MOCK_LOCATION
</h4>
<div class="api-level">
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Key used for the Bundle extra in Location object holding a boolean indicating whether
the location was set using <code><a href="/reference/com/google/android/gms/location/LocationClient.html#setMockLocation(android.location.Location)">setMockLocation(Location)</a></code>. If the value is false this
extra is not set.
</p></div>
<div class="jd-tagdata">
<span class="jd-tagtitle">Constant Value: </span>
<span>
"mockLocation"
</span>
</div>
</div>
</div>
<!-- Fields -->
<!-- Public ctors -->
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<h2>Public Constructors</h2>
<A NAME="LocationClient(android.content.Context, com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks, com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
</span>
<span class="sympad">LocationClient</span>
<span class="normal">(Context context, <a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> connectionCallbacks, <a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> connectionFailedListener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Creates a <code><a href="/reference/com/google/android/gms/location/LocationClient.html">LocationClient</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>context</td>
<td>the context to use for the connection.</td>
</tr>
<tr>
<th>connectionCallbacks</td>
<td>the callbacks invoked when the client is connected.</td>
</tr>
<tr>
<th>connectionFailedListener</td>
<td>the listener which will be notified if
the connection attempt fails.
</td>
</tr>
</table>
</div>
</div>
</div>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<!-- Protected ctors -->
<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->
<h2>Public Methods</h2>
<A NAME="addGeofences(java.util.List<com.google.android.gms.location.Geofence>, android.app.PendingIntent, com.google.android.gms.location.LocationClient.OnAddGeofencesResultListener)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">addGeofences</span>
<span class="normal">(List&lt;<a href="/reference/com/google/android/gms/location/Geofence.html">Geofence</a>&gt; geofences, PendingIntent pendingIntent, <a href="/reference/com/google/android/gms/location/LocationClient.OnAddGeofencesResultListener.html">LocationClient.OnAddGeofencesResultListener</a> listener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Sets alerts to be notified when the device enters or exits one of the
specified geofences. If an existing geofence with the same request ID is
already registered, the old geofence is replaced by the new one, and the
new <code>pendingIntent</code> is used to generate intents for alerts.
<p>
<code><a href="/reference/com/google/android/gms/location/LocationClient.OnAddGeofencesResultListener.html#onAddGeofencesResult(int, java.lang.String[])">onAddGeofencesResult(int, String[])</a></code>
is called when geofences are successfully added or failed to be added.
Refer to
<code><a href="/reference/com/google/android/gms/location/LocationClient.OnAddGeofencesResultListener.html#onAddGeofencesResult(int, java.lang.String[])">onAddGeofencesResult(int, String[])</a></code>
for possible errors when adding geofences.
<p>
When a geofence transition (for example, entering or exiting) matches one
of the transition filter (see
<code><a href="/reference/com/google/android/gms/location/Geofence.Builder.html#setTransitionTypes(int)">setTransitionTypes(int)</a></code>) in the given geofence
list, an intent is generated using the given pending intent. You can call
<code><a href="/reference/com/google/android/gms/location/LocationClient.html#getGeofenceTransition(android.content.Intent)">getGeofenceTransition(Intent)</a></code> to get the transition type of this
alert intent; call <code><a href="/reference/com/google/android/gms/location/LocationClient.html#getTriggeringGeofences(android.content.Intent)">getTriggeringGeofences(Intent)</a></code> to get the
geofences that triggered this intent and call <code><a href="/reference/com/google/android/gms/location/LocationClient.html#getTriggeringLocation(android.content.Intent)">getTriggeringLocation(Intent)</a></code>
to get the location that triggered the geofence transition.
<p>
In case network location provider is disabled by the user, the geofence
service will stop updating, all registered geofences will be removed and
an intent is generated by the provided pending intent. In this case,
<code><a href="/reference/com/google/android/gms/location/LocationClient.html#hasError(android.content.Intent)">hasError(Intent)</a></code> returns <code>true</code> and
<code><a href="/reference/com/google/android/gms/location/LocationClient.html#getErrorCode(android.content.Intent)">getErrorCode(Intent)</a></code> returns
<code><a href="/reference/com/google/android/gms/location/LocationStatusCodes.html#GEOFENCE_NOT_AVAILABLE">GEOFENCE_NOT_AVAILABLE</a></code>.
<p>
This method requires
<code><a href="/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION">ACCESS_FINE_LOCATION</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>geofences</td>
<td>a list of geofences to be added. The geofences must be
created using <code><a href="/reference/com/google/android/gms/location/Geofence.Builder.html">Geofence.Builder</a></code>.</td>
</tr>
<tr>
<th>pendingIntent</td>
<td>a pending intent that will be used to generate an
intent when matched geofence transition is observed</td>
</tr>
<tr>
<th>listener</td>
<td>the callback that receives the status code for this
operation</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Throws</h5>
<table class="jd-tagtable">
<tr>
<th>SecurityException</td>
<td>if the app does not have
<code><a href="/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION">ACCESS_FINE_LOCATION</a></code>
permission</td>
</tr>
<tr>
<th>IllegalStateException</td>
<td>if the connection to Google Play Store
Services hasn't been established</td>
</tr>
<tr>
<th>IllegalArgumentException</td>
<td>if <code>geofences</code> is <code>null</code> or
empty</td>
</tr>
<tr>
<th>NullPointerException</td>
<td>if <code>intent</code> or <code>listener</code> is
<code>null</code>
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="connect()"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">connect</span>
<span class="normal">()</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Connects the client to Google Play services. This method returns immediately, and connects to
the service in the background. If the connection is successful,
<code><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected(Bundle)</a></code> is called. On a
failure, <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html#onConnectionFailed(com.google.android.gms.common.ConnectionResult)">onConnectionFailed(ConnectionResult)</a></code> is called.
</p></div>
</div>
</div>
<A NAME="disconnect()"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">disconnect</span>
<span class="normal">()</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Closes the connection to Google Play services. No calls can be made on this object
after calling this method.</p></div>
</div>
</div>
<A NAME="getErrorCode(android.content.Intent)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
int
</span>
<span class="sympad">getErrorCode</span>
<span class="normal">(Intent intent)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Returns the error code that explains the error that triggered this
intent.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>intent</td>
<td>the intent generated for alert</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>the error code specified in <code><a href="/reference/com/google/android/gms/location/LocationStatusCodes.html">LocationStatusCodes</a></code> or
<code>-1</code> if <code><a href="/reference/com/google/android/gms/location/LocationClient.html#hasError(android.content.Intent)">hasError(Intent)</a></code> returns <code>false</code>.
</li></ul>
</div>
</div>
</div>
<A NAME="getGeofenceTransition(android.content.Intent)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
int
</span>
<span class="sympad">getGeofenceTransition</span>
<span class="normal">(Intent intent)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Returns the transition type of geofence transition alert.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>intent</td>
<td>the intent generated for geofence alert</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>-1 if the intent is not generated for transition alert; Otherwise
returns the GEOFENCE_TRANSITION_ flags value defined in
<code><a href="/reference/com/google/android/gms/location/Geofence.html">Geofence</a></code>.
</li></ul>
</div>
</div>
</div>
<A NAME="getLastLocation()"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
Location
</span>
<span class="sympad">getLastLocation</span>
<span class="normal">()</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Returns the best most recent location currently available.
<p>
If a location is not available, which should happen very rarely, null will be returned. The
best accuracy available while respecting the location permissions will be returned.
<p>
This method provides a simplified way to get location. It is particularly well suited for
applications that do not require an accurate location and that do not want to maintain extra
logic for location updates.
</p></div>
</div>
</div>
<A NAME="getTriggeringGeofences(android.content.Intent)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
List&lt;<a href="/reference/com/google/android/gms/location/Geofence.html">Geofence</a>&gt;
</span>
<span class="sympad">getTriggeringGeofences</span>
<span class="normal">(Intent intent)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Returns a list of geofences that triggers this geofence transition alert.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>intent</td>
<td>the intent generated for geofence alert</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>a list of geofences that triggers this geofence transition alert
or <code>null</code> if the given intent is not generated for
geofence transition alert
</li></ul>
</div>
</div>
</div>
<A NAME="getTriggeringLocation(android.content.Intent)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
Location
</span>
<span class="sympad">getTriggeringLocation</span>
<span class="normal">(Intent intent)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Gets the location that triggered geofence transition. Triggering location
is only available if the calling app links against Google Play services
5.0 SDK.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>intent</td>
<td>the intent generated for geofence alert</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>the location that triggered this geofence alert or <code>null</code>
if it's not included in the given intent
</li></ul>
</div>
</div>
</div>
<A NAME="hasError(android.content.Intent)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
static
boolean
</span>
<span class="sympad">hasError</span>
<span class="normal">(Intent intent)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Whether an error triggered this intent.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>intent</td>
<td>the intent generated for alert</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li><code>true</code> if an error triggered this intent otherwise
<code>false</code>
</li></ul>
</div>
</div>
</div>
<A NAME="isConnected()"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
boolean
</span>
<span class="sympad">isConnected</span>
<span class="normal">()</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Checks if the client is currently connected to the service, so that
requests to other methods will succeed. Applications should guard
client actions caused by the user with a call to this method.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>true if the client is connected to the service.
</li></ul>
</div>
</div>
</div>
<A NAME="isConnecting()"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
boolean
</span>
<span class="sympad">isConnecting</span>
<span class="normal">()</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Checks if the client is attempting to connect to the service.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>true if the client is attempting to connect to the service.
</li></ul>
</div>
</div>
</div>
<A NAME="isConnectionCallbacksRegistered(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
boolean
</span>
<span class="sympad">isConnectionCallbacksRegistered</span>
<span class="normal">(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Returns true if the specified listener is currently registered to
receive connection events.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>listener</td>
<td>The listener to check for.</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>true if the specified listener is currently registered to receive connection
events.</li></ul>
</div>
</div>
</div>
<A NAME="isConnectionFailedListenerRegistered(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
boolean
</span>
<span class="sympad">isConnectionFailedListenerRegistered</span>
<span class="normal">(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Returns true if the specified listener is currently registered to
receive connection failed events.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>listener</td>
<td>The listener to check for.</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Returns</h5>
<ul class="nolist"><li>true if the specified listener is currently registered to receive connection
failed events.</li></ul>
</div>
</div>
</div>
<A NAME="registerConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">registerConnectionCallbacks</span>
<span class="normal">(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Registers a listener to receive connection events from this <code>GooglePlayServicesClient</code>.
If the service is already connected, the listener's <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected(Bundle)</a></code>
method will be called immediately. Applications should balance calls to this method with
calls to <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#unregisterConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">unregisterConnectionCallbacks(ConnectionCallbacks)</a></code> to avoid leaking
resources.
<p>
If the specified listener is already registered to receive connection events, this
method will not add a duplicate entry for the same listener, but <strong>will</strong>
still call the listener's <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected(Bundle)</a></code> method if currently
connected.
<p>
Note that the order of messages received here may not be stable, so clients should not rely
on the order that multiple listeners receive events in.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>listener</td>
<td>the listener where the results of the asynchronous <code><a href="/reference/com/google/android/gms/location/LocationClient.html#connect()">connect()</a></code> call are
delivered.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="registerConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">registerConnectionFailedListener</span>
<span class="normal">(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Registers a listener to receive connection failed events from this
<code>GooglePlayServicesClient</code>. Unlike <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#registerConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">registerConnectionCallbacks(GooglePlayServicesClient.ConnectionCallbacks)</a></code>, if the service
is not already connected, the listener's
<code><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html#onConnectionFailed(com.google.android.gms.common.ConnectionResult)">onConnectionFailed(ConnectionResult)</a></code> method will not be called immediately.
Applications should balance calls to this method with calls to
<code><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.html#unregisterConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">unregisterConnectionFailedListener(OnConnectionFailedListener)</a></code> to avoid leaking
resources.
<p>
If the specified listener is already registered to receive connection failed events, this
method will not add a duplicate entry for the same listener.
<p>
Note that the order of messages received here may not be stable, so clients should not rely
on the order that multiple listeners receive events in.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>listener</td>
<td>the listener where the results of the asynchronous <code><a href="/reference/com/google/android/gms/location/LocationClient.html#connect()">connect()</a></code> call are
delivered.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="removeGeofences(java.util.List<java.lang.String>, com.google.android.gms.location.LocationClient.OnRemoveGeofencesResultListener)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">removeGeofences</span>
<span class="normal">(List&lt;String&gt; geofenceRequestIds, <a href="/reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html">LocationClient.OnRemoveGeofencesResultListener</a> listener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Removes geofences by their request IDs. Request ID is specified when you
create a <code><a href="/reference/com/google/android/gms/location/Geofence.html">Geofence</a></code> by calling
<code><a href="/reference/com/google/android/gms/location/Geofence.Builder.html#setRequestId(java.lang.String)">setRequestId(String)</a></code>.
<p>
<code><a href="/reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html#onRemoveGeofencesByRequestIdsResult(int, java.lang.String[])">onRemoveGeofencesByRequestIdsResult(int, String[])</a></code> is called when geofences are successfully removed or failed to
be removed.
<p>
This method requires
<code><a href="/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION">ACCESS_FINE_LOCATION</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>geofenceRequestIds</td>
<td>a list of request IDs of geofences that need to
be removed</td>
</tr>
<tr>
<th>listener</td>
<td>the callback that receives the status code for this
operation</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Throws</h5>
<table class="jd-tagtable">
<tr>
<th>IllegalArgumentException</td>
<td>if <code>geofenceRequestIds</code> is
<code>null</code> or empty</td>
</tr>
<tr>
<th>SecurityException</td>
<td>if the app does not have
<code><a href="/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION">ACCESS_FINE_LOCATION</a></code>
permission</td>
</tr>
<tr>
<th>IllegalStateException</td>
<td>if the connection to Google Play Store
Services hasn't been established</td>
</tr>
<tr>
<th>NullPointerException</td>
<td>if <code>listener</code> is <code>null</code>
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="removeGeofences(android.app.PendingIntent, com.google.android.gms.location.LocationClient.OnRemoveGeofencesResultListener)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">removeGeofences</span>
<span class="normal">(PendingIntent pendingIntent, <a href="/reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html">LocationClient.OnRemoveGeofencesResultListener</a> listener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Removes all geofences associated with the given <code>pendingIntent</code>.
<p>
Warning: please use <code><a href="/reference/android/app/PendingIntent.html#FLAG_UPDATE_CURRENT">FLAG_UPDATE_CURRENT</a></code>
rather than <code><a href="/reference/android/app/PendingIntent.html#FLAG_CANCEL_CURRENT">FLAG_CANCEL_CURRENT</a></code> when
creating the pending intent, otherwise you will not get the same pending
intent you provided to
<code><a href="/reference/com/google/android/gms/location/LocationClient.html#addGeofences(java.util.List<com.google.android.gms.location.Geofence>, android.app.PendingIntent, com.google.android.gms.location.LocationClient.OnAddGeofencesResultListener)">addGeofences(List, PendingIntent, OnAddGeofencesResultListener)</a></code>
and thus the removal operation will remove nothing.
<p>
<code><a href="/reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html#onRemoveGeofencesByPendingIntentResult(int, android.app.PendingIntent)">onRemoveGeofencesByPendingIntentResult(int, PendingIntent)</a></code> is called when geofences are successfully removed or fail
to be removed.
<p>
This method requires
<code><a href="/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION">ACCESS_FINE_LOCATION</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>pendingIntent</td>
<td>the pending intent associated with the geofences
that need to be removed.</td>
</tr>
<tr>
<th>listener</td>
<td>the callback that receives the status code for this
operation</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Throws</h5>
<table class="jd-tagtable">
<tr>
<th>SecurityException</td>
<td>if the app does not have
<code><a href="/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION">ACCESS_FINE_LOCATION</a></code>
permission</td>
</tr>
<tr>
<th>IllegalStateException</td>
<td>if the connection to Google Play Store
Services hasn't been established</td>
</tr>
<tr>
<th>NullPointerException</td>
<td>if <code>intent</code> or <code>listener</code> is
null
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="removeLocationUpdates(com.google.android.gms.location.LocationListener)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">removeLocationUpdates</span>
<span class="normal">(<a href="/reference/com/google/android/gms/location/LocationListener.html">LocationListener</a> listener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Removes all location updates for the given location listener.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>listener</td>
<td>The listener to remove.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="removeLocationUpdates(android.app.PendingIntent)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">removeLocationUpdates</span>
<span class="normal">(PendingIntent callbackIntent)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Removes all location updates for the given pending intent.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>callbackIntent</td>
<td>The callback intent to remove.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="requestLocationUpdates(com.google.android.gms.location.LocationRequest, android.app.PendingIntent)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">requestLocationUpdates</span>
<span class="normal">(<a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a> request, PendingIntent callbackIntent)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Requests location updates with a callback on the specified PendingIntent.
<p>
This method is suited for the background use cases, more specifically
for receiving location updates, even when the app has been killed by the system. In order to
do so, use a <code><a href="/reference/android/app/PendingIntent.html">PendingIntent</a></code> for a started service. For foreground use cases, the
<code><a href="/reference/com/google/android/gms/location/LocationListener.html">LocationListener</a></code> version of the method is recommended, see
<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>.
<p>
Any previous LocationRequests registered on this PendingIntent will be replaced.
<p>
Location updates are sent with a key of <code><a href="/reference/com/google/android/gms/location/LocationClient.html#KEY_LOCATION_CHANGED">KEY_LOCATION_CHANGED</a></code>
and a <code><a href="/reference/android/location/Location.html">Location</a></code> value on the intent.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>request</td>
<td>The location request for the updates.</td>
</tr>
<tr>
<th>callbackIntent</td>
<td>A pending intent to be sent for each location update.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="requestLocationUpdates(com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationListener)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">requestLocationUpdates</span>
<span class="normal">(<a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a> request, <a href="/reference/com/google/android/gms/location/LocationListener.html">LocationListener</a> listener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Requests location updates.
<p>
This method is suited for the foreground use cases, more specifically
for requesting locations while being connected to <code><a href="/reference/com/google/android/gms/location/LocationClient.html">LocationClient</a></code>. For
background use cases, the <code><a href="/reference/android/app/PendingIntent.html">PendingIntent</a></code> version of the method is recommended, see
<code><a href="/reference/com/google/android/gms/location/LocationClient.html#requestLocationUpdates(com.google.android.gms.location.LocationRequest, android.app.PendingIntent)">requestLocationUpdates(LocationRequest, PendingIntent)</a></code>.
<p>
Any previous LocationRequests registered on this LocationListener will be replaced.
<p>
Callbacks for LocationListener will be made on the calling thread, which must already be a
prepared looper thread, such as the main thread of the calling Activity. The variant of this
method with a <code><a href="/reference/android/os/Looper.html">Looper</a></code> is recommended for cases where the callback needs to happen on
a specific thread.
See <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, android.os.Looper)</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>request</td>
<td>The location request for the updates.</td>
</tr>
<tr>
<th>listener</td>
<td>The listener for the location updates.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="requestLocationUpdates(com.google.android.gms.location.LocationRequest, com.google.android.gms.location.LocationListener, android.os.Looper)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">requestLocationUpdates</span>
<span class="normal">(<a href="/reference/com/google/android/gms/location/LocationRequest.html">LocationRequest</a> request, <a href="/reference/com/google/android/gms/location/LocationListener.html">LocationListener</a> listener, Looper looper)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Requests location updates with a callback on the specified Looper thread.
<p>
This method is suited for the foreground use cases,more specifically
for requesting locations while being connected to <code><a href="/reference/com/google/android/gms/location/LocationClient.html">LocationClient</a></code>. For
background use cases, the <code><a href="/reference/android/app/PendingIntent.html">PendingIntent</a></code> version of the method is recommended, see
<code><a href="/reference/com/google/android/gms/location/LocationClient.html#requestLocationUpdates(com.google.android.gms.location.LocationRequest, android.app.PendingIntent)">requestLocationUpdates(LocationRequest, PendingIntent)</a></code>.
<p>
Any previous LocationRequests registered on this LocationListener will be replaced.
<p>
Callbacks for LocationListener will be made on the specified thread, which must already be a
prepared looper thread. For cases where the callback can happen on the calling thread, the
variant of this method without a <code><a href="/reference/android/os/Looper.html">Looper</a></code> can be used. See <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, android.os.Looper)</a></code>.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>request</td>
<td>The location request for the updates.</td>
</tr>
<tr>
<th>listener</td>
<td>The listener for the location updates.</td>
</tr>
<tr>
<th>looper</td>
<td>The Looper object whose message queue will be used to implement the callback
mechanism, or null to make callbacks on the calling thread.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="setMockLocation(android.location.Location)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">setMockLocation</span>
<span class="normal">(Location mockLocation)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Sets the mock location to be used for the location provider. This location will be used
in place of any actual locations from the underlying providers (network or gps).
<p><code><a href="/reference/com/google/android/gms/location/LocationClient.html#setMockMode(boolean)">setMockMode(boolean)</a></code> must be called and set to true prior to calling this method.
<p>Care should be taken in specifying the timestamps as many applications require them
to be monotonically increasing.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>mockLocation</td>
<td>The mock location. Must have a minimum number of fields set to be
considered a valild location, as per documentation in the
<code><a href="/reference/android/location/Location.html">Location</a></code> class.</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Throws</h5>
<table class="jd-tagtable">
<tr>
<th>SecurityException</td>
<td>if the ACCESS_MOCK_LOCATION permission is not present or the
<code><a href="/reference/android/provider/Settings.Secure.html#ALLOW_MOCK_LOCATION">Settings.Secure.ALLOW_MOCK_LOCATION</a></code> system setting is
not enabled.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="setMockMode(boolean)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">setMockMode</span>
<span class="normal">(boolean isMockMode)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Sets whether or not the location provider is in mock mode.
<p>The underlying providers (network and gps) will be stopped (except by direct
<code><a href="/reference/android/location/LocationManager.html">LocationManager</a></code> access), and only locations specified in
<code><a href="/reference/com/google/android/gms/location/LocationClient.html#setMockLocation(android.location.Location)">setMockLocation(Location)</a></code> will be reported. This will effect all location clients
connected using the <code><a href="/reference/com/google/android/gms/location/LocationClient.html">LocationClient</a></code>, including geofencer clients (i.e.
geofences can be triggered based on mock locations).
<p>The client must remain connected in order for mock mode to remain active. If the client
dies the system will return to its normal state.
<p>Calls are not nested, and mock mode will be set directly regardless of previous calls.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>isMockMode</td>
<td>If true the location provider will be set to mock mode. If false it
will be returned to its normal state.</td>
</tr>
</table>
</div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Throws</h5>
<table class="jd-tagtable">
<tr>
<th>SecurityException</td>
<td>if the ACCESS_MOCK_LOCATION permission is not present or the
<code><a href="/reference/android/provider/Settings.Secure.html#ALLOW_MOCK_LOCATION">Settings.Secure.ALLOW_MOCK_LOCATION</a></code> system setting is
not enabled.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="unregisterConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">unregisterConnectionCallbacks</span>
<span class="normal">(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Removes a connection listener from this <code>GooglePlayServicesClient</code>. Note that removing
a listener does not generate any callbacks.
<p>
If the specified listener is not currently registered to receive connection events, this
method will have no effect.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>listener</td>
<td>the listener to unregister.
</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="unregisterConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)"></A>
<div class="jd-details api apilevel-">
<h4 class="jd-details-title">
<span class="normal">
public
void
</span>
<span class="sympad">unregisterConnectionFailedListener</span>
<span class="normal">(<a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</span>
</h4>
<div class="api-level">
<div></div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Removes a connection failed listener from the <code>GooglePlayServicesClient</code>.
Note that removing a listener does not generate any callbacks.
<p>
If the specified listener is not currently registered to receive connection failed events,
this method will have no effect.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>listener</td>
<td>the listener to unregister.
</td>
</tr>
</table>
</div>
</div>
</div>
<!-- ========= METHOD DETAIL ======== -->
<!-- ========= END OF CLASS DATA ========= -->
<A NAME="navbar_top"></A>
<div id="footer" class="wrap" >
<div id="copyright">
Except as noted, this content is licensed under <a
href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
For details and restrictions, see the <a href="/license.html">
Content License</a>.
</div>
<div id="build_info">
<script src="/timestamp.js" type="text/javascript"></script>
<script>document.write(BUILD_TIMESTAMP)</script>
</div>
<div id="footerlinks">
<p>
<a href="/about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
<a href="/legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
<a href="/support.html">Support</a>
</p>
</div>
</div> <!-- end footer -->
</div> <!-- jd-content -->
</div><!-- end doc-content -->
</div> <!-- end body-content -->
</body>
</html>