• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87<html>
88<head>
89
90
91<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
92<meta name="viewport" content="width=device-width" />
93
94<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
95<title>GooglePlayServicesUtil | Android Developers</title>
96
97<!-- STYLESHEETS -->
98<link rel="stylesheet"
99href="//fonts.googleapis.com/css?family=Roboto+Condensed">
100<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
101  title="roboto">
102<link href="/assets/css/default.css?v=2" rel="stylesheet" type="text/css">
103
104
105
106<!-- JAVASCRIPT -->
107<script src="//www.google.com/jsapi" type="text/javascript"></script>
108<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
109<script type="text/javascript">
110  var toRoot = "/";
111  var metaTags = [];
112  var devsite = false;
113</script>
114<script src="/assets/js/docs.js?v=2" type="text/javascript"></script>
115
116<script>
117  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
118  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
119  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
120  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
121
122  ga('create', 'UA-5831155-1', 'android.com');
123  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
124  ga('send', 'pageview');
125  ga('universal.send', 'pageview'); // Send page view for new tracker.
126</script>
127
128</head>
129
130<body class="gc-documentation google
131  develop" itemscope itemtype="http://schema.org/Article">
132  <div id="doc-api-level" class="" style="display:none"></div>
133  <a name="top"></a>
134
135
136<a name="top"></a>
137
138  <!-- Header -->
139  <div id="header-wrapper">
140    <div id="header">
141      <div class="wrap" id="header-wrap">
142        <div class="col-3 logo">
143          <a href="/index.html">
144            <img src="/assets/images/dac_logo.png"
145                srcset="/assets/images/dac_logo@2x.png 2x"
146                width="123" height="25" alt="Android Developers" />
147          </a>
148          <div class="btn-quicknav" id="btn-quicknav">
149            <a href="#" class="arrow-inactive">Quicknav</a>
150            <a href="#" class="arrow-active">Quicknav</a>
151          </div>
152        </div>
153        <ul class="nav-x col-9">
154            <li class="design">
155              <a href="/design/index.html"
156              zh-tw-lang="設計"
157              zh-cn-lang="设计"
158              ru-lang="Проектирование"
159              ko-lang="디자인"
160              ja-lang="設計"
161              es-lang="Diseñar"
162              >Design</a></li>
163            <li class="develop"><a href="/develop/index.html"
164              zh-tw-lang="開發"
165              zh-cn-lang="开发"
166              ru-lang="Разработка"
167              ko-lang="개발"
168              ja-lang="開発"
169              es-lang="Desarrollar"
170              >Develop</a></li>
171            <li class="distribute last"><a href="/distribute/index.html"
172              zh-tw-lang="發佈"
173              zh-cn-lang="分发"
174              ru-lang="Распространение"
175              ko-lang="배포"
176              ja-lang="配布"
177              es-lang="Distribuir"
178              >Distribute</a></li>
179        </ul>
180
181
182
183
184<div class="menu-container">
185  <div class="moremenu">
186    <div id="more-btn"></div>
187  </div>
188  <div class="morehover" id="moremenu">
189    <div class="top"></div>
190    <div class="mid">
191      <div class="header">Links</div>
192      <ul>
193        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
194        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
195        <li><a href="/about/index.html">About Android</a></li>
196      </ul>
197      <div class="header">Android Sites</div>
198      <ul>
199        <li><a href="http://www.android.com">Android.com</a></li>
200        <li class="active"><a>Android Developers</a></li>
201        <li><a href="http://source.android.com">Android Open Source Project</a></li>
202      </ul>
203
204
205
206        <div class="header">Language</div>
207          <div id="language" class="locales">
208            <select name="language" onChange="changeLangPref(this.value, true)">
209                <option value="en">English</option>
210                <option value="es">Español</option>
211                <option value="ja">日本語</option>
212                <option value="ko">한국어</option>
213                <option value="ru">Русский</option>
214                <option value="zh-cn">中文 (中国)</option>
215                <option value="zh-tw">中文 (台灣)</option>
216            </select>
217          </div>
218        <script type="text/javascript">
219          <!--
220          loadLangPref();
221            //-->
222        </script>
223
224
225      <br class="clearfix" />
226    </div><!-- end 'mid' -->
227    <div class="bottom"></div>
228  </div><!-- end 'moremenu' -->
229
230  <div class="search" id="search-container">
231    <div class="search-inner">
232      <div id="search-btn"></div>
233      <div class="left"></div>
234      <form onsubmit="return submit_search()">
235        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
236          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
237          onkeydown="return search_changed(event, true, '/')"
238          onkeyup="return search_changed(event, false, '/')" />
239      </form>
240      <div class="right"></div>
241      <a class="close hide">close</a>
242      <div class="left"></div>
243      <div class="right"></div>
244    </div><!-- end search-inner -->
245  </div><!-- end search-container -->
246
247  <div class="search_filtered_wrapper reference">
248    <div class="suggest-card reference no-display">
249      <ul class="search_filtered">
250      </ul>
251    </div>
252  </div>
253
254  <div class="search_filtered_wrapper docs">
255    <div class="suggest-card dummy no-display">&nbsp;</div>
256    <div class="suggest-card develop no-display">
257      <ul class="search_filtered">
258      </ul>
259      <div class="child-card guides no-display">
260      </div>
261      <div class="child-card training no-display">
262      </div>
263      <div class="child-card samples no-display">
264      </div>
265    </div>
266    <div class="suggest-card design no-display">
267      <ul class="search_filtered">
268      </ul>
269    </div>
270    <div class="suggest-card distribute no-display">
271      <ul class="search_filtered">
272      </ul>
273    </div>
274  </div>
275</div><!-- end menu-container (search and menu widget) -->
276
277
278
279        <!-- Expanded quicknav -->
280        <div id="quicknav" class="col-13">
281          <ul>
282            <li class="about">
283              <ul>
284                <li><a href="/about/index.html">About</a></li>
285                <li><a href="/wear/index.html">Wear</a></li>
286                <li><a href="/tv/index.html">TV</a></li>
287                <li><a href="/auto/index.html">Auto</a></li>
288              </ul>
289            </li>
290            <li class="design">
291              <ul>
292                <li><a href="/design/index.html">Get Started</a></li>
293                <li><a href="/design/devices.html">Devices</a></li>
294                <li><a href="/design/style/index.html">Style</a></li>
295                <li><a href="/design/patterns/index.html">Patterns</a></li>
296                <li><a href="/design/building-blocks/index.html">Building Blocks</a></li>
297                <li><a href="/design/downloads/index.html">Downloads</a></li>
298                <li><a href="/design/videos/index.html">Videos</a></li>
299              </ul>
300            </li>
301            <li class="develop">
302              <ul>
303                <li><a href="/training/index.html"
304                  zh-tw-lang="訓練課程"
305                  zh-cn-lang="培训"
306                  ru-lang="Курсы"
307                  ko-lang="교육"
308                  ja-lang="トレーニング"
309                  es-lang="Capacitación"
310                  >Training</a></li>
311                <li><a href="/guide/index.html"
312                  zh-tw-lang="API 指南"
313                  zh-cn-lang="API 指南"
314                  ru-lang="Руководства по API"
315                  ko-lang="API 가이드"
316                  ja-lang="API ガイド"
317                  es-lang="Guías de la API"
318                  >API Guides</a></li>
319                <li><a href="/reference/packages.html"
320                  zh-tw-lang="參考資源"
321                  zh-cn-lang="参考"
322                  ru-lang="Справочник"
323                  ko-lang="참조문서"
324                  ja-lang="リファレンス"
325                  es-lang="Referencia"
326                  >Reference</a></li>
327                <li><a href="/sdk/index.html"
328                  zh-tw-lang="相關工具"
329                  zh-cn-lang="工具"
330                  ru-lang="Инструменты"
331                  ko-lang="도구"
332                  ja-lang="ツール"
333                  es-lang="Herramientas"
334                  >Tools</a>
335                </li>
336                <li><a href="/google/index.html">Google Services</a>
337                </li>
338
339                  <li><a href="/samples/index.html">Samples</a>
340                  </li>
341
342              </ul>
343            </li>
344            <li class="distribute last">
345              <ul>
346                <li><a href="/distribute/googleplay/index.html">Google Play</a></li>
347                <li><a href="/distribute/essentials/index.html">Essentials</a></li>
348                <li><a href="/distribute/users/index.html">Get Users</a></li>
349                <li><a href="/distribute/engage/index.html">Engage &amp; Retain</a></li>
350                <li><a href="/distribute/monetize/index.html">Monetize</a></li>
351                <li><a href="/distribute/tools/index.html">Tools &amp; Reference</a></li>
352                <li><a href="/distribute/stories/index.html">Developer Stories</a></li>
353              </ul>
354            </li>
355          </ul>
356        </div><!-- /Expanded quicknav -->
357      </div><!-- end header-wrap.wrap -->
358    </div><!-- end header -->
359
360
361    <!-- Secondary x-nav -->
362    <div id="nav-x">
363        <div class="wrap">
364            <ul class="nav-x col-9 develop" style="width:100%">
365                <li class="training"><a href="/training/index.html"
366                  zh-tw-lang="訓練課程"
367                  zh-cn-lang="培训"
368                  ru-lang="Курсы"
369                  ko-lang="교육"
370                  ja-lang="トレーニング"
371                  es-lang="Capacitación"
372                  >Training</a></li>
373                <li class="guide"><a href="/guide/index.html"
374                  zh-tw-lang="API 指南"
375                  zh-cn-lang="API 指南"
376                  ru-lang="Руководства по API"
377                  ko-lang="API 가이드"
378                  ja-lang="API ガイド"
379                  es-lang="Guías de la API"
380                  >API Guides</a></li>
381                <li class="reference"><a href="/reference/packages.html"
382                  zh-tw-lang="參考資源"
383                  zh-cn-lang="参考"
384                  ru-lang="Справочник"
385                  ko-lang="참조문서"
386                  ja-lang="リファレンス"
387                  es-lang="Referencia"
388                  >Reference</a></li>
389                <li class="tools"><a href="/sdk/index.html"
390                  zh-tw-lang="相關工具"
391                  zh-cn-lang="工具"
392                  ru-lang="Инструменты"
393                  ko-lang="도구"
394                  ja-lang="ツール"
395                  es-lang="Herramientas"
396                  >Tools</a></li>
397                <li class="google"><a href="/google/index.html"
398                  >Google Services</a>
399                </li>
400
401                  <li class="samples"><a href="/samples/index.html"
402                    >Samples</a>
403                  </li>
404
405            </ul>
406        </div>
407    </div>
408    <!-- /Sendondary x-nav DEVELOP -->
409
410
411
412    <div id="searchResults" class="wrap" style="display:none;">
413      <h2 id="searchTitle">Results</h2>
414      <div id="leftSearchControl" class="search-control">Loading...</div>
415    </div>
416  </div> <!--end header-wrapper -->
417
418  <div id="sticky-header">
419    <div>
420      <a class="logo" href="#top"></a>
421      <a class="top" href="#top"></a>
422      <ul class="breadcrumb">
423
424        <li class="current">GooglePlayServicesUtil</li>
425      </ul>
426    </div>
427  </div>
428
429
430
431
432
433
434  <div class="wrap clearfix" id="body-content">
435    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
436      <div id="devdoc-nav" class="scroll-pane">
437
438
439
440<ul id="nav">
441
442  <li class="nav-section">
443    <div class="nav-section-header empty"><a href="/google/index.html">
444          <span class="en">Overview</span>
445      </a></div>
446  </li>
447
448  <li class="nav-section">
449    <div class="nav-section-header empty"><a href="/google/play-services/games.html">
450          <span class="en">Games</span>
451      </a></div>
452  </li>
453  <li class="nav-section">
454    <div class="nav-section-header empty"><a href="/google/play-services/location.html">
455          <span class="en">Location</span>
456      </a></div>
457  </li>
458  <li class="nav-section">
459    <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
460          <span class="en">Google+</span>
461                </a></div>
462  </li>
463  <li class="nav-section">
464    <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
465          <span class="en">Maps</span>
466      </a></div>
467  </li>
468  <li class="nav-section">
469    <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
470          <span class="en">Drive</span>
471      </a></div>
472  </li>
473  <li class="nav-section">
474    <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
475          <span class="en">Cast</span>
476      </a></div>
477  </li>
478  <li class="nav-section">
479    <div class="nav-section-header"><a href="/google/play-services/ads.html">
480      <span class="en">Ads</span></a>
481    </div>
482    <ul>
483      <li><a href="/google/play-services/id.html">
484          <span class="en">Advertising ID</span></a>
485      </li>
486    </ul>
487  </li>
488  <li class="nav-section">
489    <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
490          <span class="en">Wallet</span>
491      </a></div>
492  </li>
493
494
495  <li class="nav-section">
496    <div class="nav-section-header"><a href="/google/play-services/index.html">
497      <span class="en">Google Play Services</span></a>
498    </div>
499    <ul>
500      <li><a href="/google/play-services/setup.html">
501          <span class="en">Setting Up Google Play Services</span></a>
502      </li>
503      <li class="nav-section">
504        <div class="nav-section-header"><a href="/google/auth/api-client.html">
505          <span class="en">Accessing Google APIs</span></a>
506        </div>
507        <ul>
508          <li>
509            <a href="/google/auth/http-auth.html">
510              <span class="en">Authorizing with Google for REST APIs</span>
511            </a>
512          </li>
513        </ul>
514      </li>
515      <li id="gms-tree-list" class="nav-section">
516        <div class="nav-section-header">
517          <a href="/reference/gms-packages.html">
518            <span class="en">Reference</span>
519          </a>
520        <div>
521      </li>
522    </ul>
523  </li>
524
525
526  <li class="nav-section">
527    <div class="nav-section-header"><a href="/google/play/billing/index.html">
528      <span class="en">Google Play In-app Billing</span></a>
529    </div>
530    <ul>
531      <li><a href="/google/play/billing/billing_overview.html">
532              <span class="en">Overview</span></a>
533      </li>
534      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html">
535              <span class="en">Version 3 API</span></a></div>
536              <ul>
537              <li><a href="/google/play/billing/billing_integrate.html">
538              <span class="en">Implementing the API</span></a></li>
539              <li><a href="/google/play/billing/billing_reference.html">
540              <span class="en">Reference</span></a></li>
541              </ul>
542      </li>
543      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
544              <span class="en">Version 2 API</span></a></div>
545              <ul>
546              <li><a href="/google/play/billing/v2/billing_integrate.html">
547              <span class="en">Implementing the API</span></a></li>
548              <li><a href="/google/play/billing/v2/billing_subscriptions.html">
549              <span class="en">Subscriptions</span></a></li>
550              <li><a href="/google/play/billing/v2/billing_reference.html">
551              <span class="en">Reference</span></a></li>
552              </ul>
553      </li>
554      <li><a href="/google/play/billing/billing_subscriptions.html">
555              <span class="en">Subscriptions</span></a>
556      </li>
557      <li><a href="/google/play/billing/billing_best_practices.html">
558              <span class="en">Security and Design</span></a>
559      </li>
560      <li><a href="/google/play/billing/billing_testing.html">
561              <span class="en">Testing In-app Billing</span></a>
562      </li>
563      <li><a href="/google/play/billing/billing_admin.html">
564              <span class="en">Administering In-app Billing</span></a>
565      </li>
566      <li><a href="/google/play/billing/versions.html">
567              <span class="en">Version Notes</span></a>
568      </li>
569    </ul>
570  </li>
571
572
573
574   <li class="nav-section">
575      <div class="nav-section-header"><a href="/google/gcm/index.html">
576        <span class="en">Google Cloud Messaging</span></a>
577      </div>
578      <ul>
579        <li><a href="/google/gcm/gcm.html">
580            <span class="en">Overview</span></a>
581        </li>
582        <li><a href="/google/gcm/gs.html">
583            <span class="en">Getting Started</span></a>
584        </li>
585        <li><a href="/google/gcm/client.html">
586            <span class="en">Implementing GCM Client</span></a>
587        </li>
588        <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
589              <span class="en">Implementing GCM Server</span></a></div>
590              <ul>
591              <li><a href="/google/gcm/ccs.html">
592              <span class="en">CCS (XMPP)</span></a></li>
593              <li><a href="/google/gcm/http.html">
594              <span class="en">HTTP</span></a></li>
595              </ul>
596        </li>
597        <li><a href="/google/gcm/notifications.html">
598              <span class="en">User Notifications</span></a>
599        </li>
600        <li><a href="/google/gcm/adv.html">
601            <span class="en">Advanced Topics</span></a>
602        </li>
603        <li><a href="/google/gcm/c2dm.html">
604            <span class="en">Migration</span></a>
605        </li>
606        <li id="gcm-tree-list" class="nav-section">
607          <div class="nav-section-header">
608            <a href="/reference/gcm-packages.html">
609              <span class="en">Reference</span>
610            </a>
611          <div>
612        </li>
613      </ul>
614  </li>
615
616  <li class="nav-section">
617  <div class="nav-section-header empty"><a href="/google/gcs/index.html">
618        <span class="en">Google Cloud Save</span></a>
619      </div>
620  </li>
621
622  <li class="nav-section">
623    <div class="nav-section-header"><a href="/google/play/dist.html">
624      <span class="en">Google Play Distribution</span></a>
625    </div>
626    <ul>
627      <li><a href="/google/play/filters.html">
628          <span class="en">Filters on Google Play</span></a>
629      </li>
630      <li><a href="/google/play/billing/gp-purchase-status-api.html">
631              <span class="en">Google Play Developer API</span></a>
632      </li>
633      <li><a href="/google/play/publishing/multiple-apks.html">
634          <span class="en">Multiple APK Support</span></a>
635      </li>
636      <li><a href="/google/play/expansion-files.html">
637          <span class="en">APK Expansion Files</span></a>
638      </li>
639      <li class="nav-section">
640        <div class="nav-section-header"><a href="/google/play/licensing/index.html">
641          <span class="en">Application Licensing</span></a>
642        </div>
643        <ul>
644          <li><a href="/google/play/licensing/overview.html">
645              <span class="en">Licensing Overview</span></a>
646          </li>
647          <li><a href="/google/play/licensing/setting-up.html">
648              <span class="en">Setting Up for Licensing</span></a>
649          </li>
650          <li><a href="/google/play/licensing/adding-licensing.html">
651              <span class="en">Adding Licensing to Your App</span></a>
652          </li>
653          <li><a href="/google/play/licensing/licensing-reference.html">
654              <span class="en">Licensing Reference</span></a>
655          </li>
656        </ul>
657      </li>
658
659  <li class="nav-section">
660    <div class="nav-section-header"><a href="/google/backup/index.html">
661      Android Backup Service</a>
662    </div>
663    <ul>
664      <li><a href="/google/backup/signup.html">
665          Register</a>
666      </li>
667    </ul>
668  </li>
669
670  </ul>
671
672</li>
673
674
675
676</ul>
677
678<script type="text/javascript">
679<!--
680    buildToggleLists();
681    changeNavLang(getLangPref());
682//-->
683</script>
684
685
686
687
688      </div>
689      <script type="text/javascript">
690       showGoogleRefTree();
691
692      </script>
693    </div> <!-- end side-nav -->
694    <script>
695      $(document).ready(function() {
696        scrollIntoView("devdoc-nav");
697        });
698    </script>
699
700
701
702
703
704
705<div class="col-12"  id="doc-col">
706
707<div id="api-info-block">
708
709
710
711
712
713
714
715
716
717
718
719<div class="sum-details-links">
720
721Summary:
722
723
724
725
726
727  <a href="#constants">Constants</a>
728
729
730
731
732
733
734
735
736  &#124; <a href="#pubmethods">Methods</a>
737
738
739
740
741  &#124; <a href="#inhmethods">Inherited Methods</a>
742
743&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
744
745</div><!-- end sum-details-links -->
746<div class="api-level">
747
748
749
750
751</div>
752</div><!-- end api-info-block -->
753
754
755<!-- ======== START OF CLASS DATA ======== -->
756
757<div id="jd-header">
758    public
759
760    final
761
762    class
763<h1 itemprop="name">GooglePlayServicesUtil</h1>
764
765
766
767
768    extends Object<br/>
769
770
771
772
773
774
775
776
777
778</div><!-- end header -->
779
780<div id="naMessage"></div>
781
782<div id="jd-content" class="api apilevel-">
783<table class="jd-inheritance-table">
784
785
786    <tr>
787
788        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
789    </tr>
790
791
792    <tr>
793
794            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
795
796        <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.common.GooglePlayServicesUtil</td>
797    </tr>
798
799
800</table>
801
802
803
804
805
806
807
808<div class="jd-descr">
809
810
811<h2>Class Overview</h2>
812<p itemprop="articleBody">Utility class for verifying that the Google Play services APK is available and
813 up-to-date on this device.  The same checks are performed if one uses
814 <code><a href="/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.html">AdvertisingIdClient</a></code> or
815 <code><a href="/reference/com/google/android/gms/auth/GoogleAuthUtil.html">GoogleAuthUtil</a></code> to connect to the service.
816</p>
817
818
819
820
821
822</div><!-- jd-descr -->
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839<div class="jd-descr">
840
841
842<h2>Summary</h2>
843
844
845
846
847
848
849
850
851
852
853
854
855
856<!-- =========== ENUM CONSTANT SUMMARY =========== -->
857<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
858
859
860
861    <tr class="alt-color api apilevel-" >
862        <td class="jd-typecol">String</td>
863        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#GMS_ERROR_DIALOG">GMS_ERROR_DIALOG</a></td>
864        <td class="jd-descrcol" width="100%"></td>
865    </tr>
866
867
868    <tr class=" api apilevel-" >
869        <td class="jd-typecol">String</td>
870        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#GOOGLE_PLAY_SERVICES_PACKAGE">GOOGLE_PLAY_SERVICES_PACKAGE</a></td>
871        <td class="jd-descrcol" width="100%">Package name for Google Play services.</td>
872    </tr>
873
874
875    <tr class="alt-color api apilevel-" >
876        <td class="jd-typecol">int</td>
877        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#GOOGLE_PLAY_SERVICES_VERSION_CODE">GOOGLE_PLAY_SERVICES_VERSION_CODE</a></td>
878        <td class="jd-descrcol" width="100%">Google Play services client library version (declared in library's
879 AndroidManifest.xml android:versionCode).</td>
880    </tr>
881
882
883    <tr class=" api apilevel-" >
884        <td class="jd-typecol">String</td>
885        <td class="jd-linkcol"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#GOOGLE_PLAY_STORE_PACKAGE">GOOGLE_PLAY_STORE_PACKAGE</a></td>
886        <td class="jd-descrcol" width="100%">Package name for Google Play services.</td>
887    </tr>
888
889
890
891</table>
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908<!-- ========== METHOD SUMMARY =========== -->
909<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
910
911
912
913
914    <tr class="alt-color api apilevel-" >
915        <td class="jd-typecol"><nobr>
916
917
918
919            static
920
921            Dialog</nobr>
922        </td>
923        <td class="jd-linkcol" width="100%"><nobr>
924        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)">getErrorDialog</a></span>(int errorCode, Activity activity, int requestCode)</nobr>
925
926        <div class="jd-descrdiv">Returns a dialog to address the provided errorCode.</div>
927
928  </td></tr>
929
930
931
932    <tr class=" api apilevel-" >
933        <td class="jd-typecol"><nobr>
934
935
936
937            static
938
939            Dialog</nobr>
940        </td>
941        <td class="jd-linkcol" width="100%"><nobr>
942        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int, android.content.DialogInterface.OnCancelListener)">getErrorDialog</a></span>(int errorCode, Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener)</nobr>
943
944        <div class="jd-descrdiv">Returns a dialog to address the provided errorCode.</div>
945
946  </td></tr>
947
948
949
950    <tr class="alt-color api apilevel-" >
951        <td class="jd-typecol"><nobr>
952
953
954
955            static
956
957            PendingIntent</nobr>
958        </td>
959        <td class="jd-linkcol" width="100%"><nobr>
960        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorPendingIntent(int, android.content.Context, int)">getErrorPendingIntent</a></span>(int errorCode, Context context, int requestCode)</nobr>
961
962        <div class="jd-descrdiv">Returns a PendingIntent to address the provided errorCode.</div>
963
964  </td></tr>
965
966
967
968    <tr class=" api apilevel-" >
969        <td class="jd-typecol"><nobr>
970
971
972
973            static
974
975            String</nobr>
976        </td>
977        <td class="jd-linkcol" width="100%"><nobr>
978        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorString(int)">getErrorString</a></span>(int errorCode)</nobr>
979
980        <div class="jd-descrdiv">Returns a human-readable string of the error code returned from
981 <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.</div>
982
983  </td></tr>
984
985
986
987    <tr class="alt-color api apilevel-" >
988        <td class="jd-typecol"><nobr>
989
990
991
992            static
993
994            String</nobr>
995        </td>
996        <td class="jd-linkcol" width="100%"><nobr>
997        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getOpenSourceSoftwareLicenseInfo(android.content.Context)">getOpenSourceSoftwareLicenseInfo</a></span>(Context context)</nobr>
998
999        <div class="jd-descrdiv">Returns the open source software license information for the Google Play services
1000 application, or null if Google Play services is not available on this device.</div>
1001
1002  </td></tr>
1003
1004
1005
1006    <tr class=" api apilevel-" >
1007        <td class="jd-typecol"><nobr>
1008
1009
1010
1011            static
1012
1013            Context</nobr>
1014        </td>
1015        <td class="jd-linkcol" width="100%"><nobr>
1016        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getRemoteContext(android.content.Context)">getRemoteContext</a></span>(Context context)</nobr>
1017
1018        <div class="jd-descrdiv">This gets the Context object of the Buddy APK.</div>
1019
1020  </td></tr>
1021
1022
1023
1024    <tr class="alt-color api apilevel-" >
1025        <td class="jd-typecol"><nobr>
1026
1027
1028
1029            static
1030
1031            Resources</nobr>
1032        </td>
1033        <td class="jd-linkcol" width="100%"><nobr>
1034        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getRemoteResource(android.content.Context)">getRemoteResource</a></span>(Context context)</nobr>
1035
1036        <div class="jd-descrdiv">This gets the Resources object of the Buddy APK.</div>
1037
1038  </td></tr>
1039
1040
1041
1042    <tr class=" api apilevel-" >
1043        <td class="jd-typecol"><nobr>
1044
1045
1046
1047            static
1048
1049            int</nobr>
1050        </td>
1051        <td class="jd-linkcol" width="100%"><nobr>
1052        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable</a></span>(Context context)</nobr>
1053
1054        <div class="jd-descrdiv">Verifies that Google Play services is installed and enabled on this device, and that the
1055 version installed on this device is no older than the one required by this client.</div>
1056
1057  </td></tr>
1058
1059
1060
1061    <tr class="alt-color api apilevel-" >
1062        <td class="jd-typecol"><nobr>
1063
1064
1065
1066            static
1067
1068            boolean</nobr>
1069        </td>
1070        <td class="jd-linkcol" width="100%"><nobr>
1071        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGoogleSignedUid(android.content.pm.PackageManager, int)">isGoogleSignedUid</a></span>(PackageManager packageManager, int uid)</nobr>
1072
1073        <div class="jd-descrdiv">Throws SecurityException if uid does not belong to a Google signed app.</div>
1074
1075  </td></tr>
1076
1077
1078
1079    <tr class=" api apilevel-" >
1080        <td class="jd-typecol"><nobr>
1081
1082
1083
1084            static
1085
1086            boolean</nobr>
1087        </td>
1088        <td class="jd-linkcol" width="100%"><nobr>
1089        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isUserRecoverableError(int)">isUserRecoverableError</a></span>(int errorCode)</nobr>
1090
1091        <div class="jd-descrdiv">Determines whether an error is user-recoverable.</div>
1092
1093  </td></tr>
1094
1095
1096
1097    <tr class="alt-color api apilevel-" >
1098        <td class="jd-typecol"><nobr>
1099
1100
1101
1102            static
1103
1104            boolean</nobr>
1105        </td>
1106        <td class="jd-linkcol" width="100%"><nobr>
1107        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#showErrorDialogFragment(int, android.app.Activity, int)">showErrorDialogFragment</a></span>(int errorCode, Activity activity, int requestCode)</nobr>
1108
1109        <div class="jd-descrdiv">Display a DialogFragment for an error code returned by
1110 <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.</div>
1111
1112  </td></tr>
1113
1114
1115
1116    <tr class=" api apilevel-" >
1117        <td class="jd-typecol"><nobr>
1118
1119
1120
1121            static
1122
1123            boolean</nobr>
1124        </td>
1125        <td class="jd-linkcol" width="100%"><nobr>
1126        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#showErrorDialogFragment(int, android.app.Activity, android.support.v4.app.Fragment, int, android.content.DialogInterface.OnCancelListener)">showErrorDialogFragment</a></span>(int errorCode, Activity activity, Fragment fragment, int requestCode, DialogInterface.OnCancelListener cancelListener)</nobr>
1127
1128  </td></tr>
1129
1130
1131
1132    <tr class="alt-color api apilevel-" >
1133        <td class="jd-typecol"><nobr>
1134
1135
1136
1137            static
1138
1139            boolean</nobr>
1140        </td>
1141        <td class="jd-linkcol" width="100%"><nobr>
1142        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#showErrorDialogFragment(int, android.app.Activity, int, android.content.DialogInterface.OnCancelListener)">showErrorDialogFragment</a></span>(int errorCode, Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener)</nobr>
1143
1144        <div class="jd-descrdiv">Display a DialogFragment for an error code returned by
1145 <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.</div>
1146
1147  </td></tr>
1148
1149
1150
1151    <tr class=" api apilevel-" >
1152        <td class="jd-typecol"><nobr>
1153
1154
1155
1156            static
1157
1158            void</nobr>
1159        </td>
1160        <td class="jd-linkcol" width="100%"><nobr>
1161        <span class="sympad"><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#showErrorNotification(int, android.content.Context)">showErrorNotification</a></span>(int errorCode, Context context)</nobr>
1162
1163        <div class="jd-descrdiv">Displays a notification relevant to the provided error code.</div>
1164
1165  </td></tr>
1166
1167
1168
1169</table>
1170
1171
1172
1173
1174
1175
1176
1177<!-- ========== METHOD SUMMARY =========== -->
1178<table id="inhmethods" class="jd-sumtable"><tr><th>
1179  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
1180  <div style="clear:left;">Inherited Methods</div></th></tr>
1181
1182
1183<tr class="api apilevel-" >
1184<td colspan="12">
1185  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
1186          ><img id="inherited-methods-java.lang.Object-trigger"
1187          src="/assets/images/triangle-closed.png"
1188          class="jd-expando-trigger-img" /></a>
1189From class
1190
1191  java.lang.Object
1192
1193<div id="inherited-methods-java.lang.Object">
1194  <div id="inherited-methods-java.lang.Object-list"
1195        class="jd-inheritedlinks">
1196  </div>
1197  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
1198    <table class="jd-sumtable-expando">
1199
1200
1201
1202
1203    <tr class="alt-color api apilevel-" >
1204        <td class="jd-typecol"><nobr>
1205
1206
1207
1208
1209
1210            Object</nobr>
1211        </td>
1212        <td class="jd-linkcol" width="100%"><nobr>
1213        <span class="sympad">clone</span>()</nobr>
1214
1215  </td></tr>
1216
1217
1218
1219    <tr class=" api apilevel-" >
1220        <td class="jd-typecol"><nobr>
1221
1222
1223
1224
1225
1226            boolean</nobr>
1227        </td>
1228        <td class="jd-linkcol" width="100%"><nobr>
1229        <span class="sympad">equals</span>(Object arg0)</nobr>
1230
1231  </td></tr>
1232
1233
1234
1235    <tr class="alt-color api apilevel-" >
1236        <td class="jd-typecol"><nobr>
1237
1238
1239
1240
1241
1242            void</nobr>
1243        </td>
1244        <td class="jd-linkcol" width="100%"><nobr>
1245        <span class="sympad">finalize</span>()</nobr>
1246
1247  </td></tr>
1248
1249
1250
1251    <tr class=" api apilevel-" >
1252        <td class="jd-typecol"><nobr>
1253
1254
1255            final
1256
1257
1258            Class&lt;?&gt;</nobr>
1259        </td>
1260        <td class="jd-linkcol" width="100%"><nobr>
1261        <span class="sympad">getClass</span>()</nobr>
1262
1263  </td></tr>
1264
1265
1266
1267    <tr class="alt-color api apilevel-" >
1268        <td class="jd-typecol"><nobr>
1269
1270
1271
1272
1273
1274            int</nobr>
1275        </td>
1276        <td class="jd-linkcol" width="100%"><nobr>
1277        <span class="sympad">hashCode</span>()</nobr>
1278
1279  </td></tr>
1280
1281
1282
1283    <tr class=" api apilevel-" >
1284        <td class="jd-typecol"><nobr>
1285
1286
1287            final
1288
1289
1290            void</nobr>
1291        </td>
1292        <td class="jd-linkcol" width="100%"><nobr>
1293        <span class="sympad">notify</span>()</nobr>
1294
1295  </td></tr>
1296
1297
1298
1299    <tr class="alt-color api apilevel-" >
1300        <td class="jd-typecol"><nobr>
1301
1302
1303            final
1304
1305
1306            void</nobr>
1307        </td>
1308        <td class="jd-linkcol" width="100%"><nobr>
1309        <span class="sympad">notifyAll</span>()</nobr>
1310
1311  </td></tr>
1312
1313
1314
1315    <tr class=" api apilevel-" >
1316        <td class="jd-typecol"><nobr>
1317
1318
1319
1320
1321
1322            String</nobr>
1323        </td>
1324        <td class="jd-linkcol" width="100%"><nobr>
1325        <span class="sympad">toString</span>()</nobr>
1326
1327  </td></tr>
1328
1329
1330
1331    <tr class="alt-color api apilevel-" >
1332        <td class="jd-typecol"><nobr>
1333
1334
1335            final
1336
1337
1338            void</nobr>
1339        </td>
1340        <td class="jd-linkcol" width="100%"><nobr>
1341        <span class="sympad">wait</span>()</nobr>
1342
1343  </td></tr>
1344
1345
1346
1347    <tr class=" api apilevel-" >
1348        <td class="jd-typecol"><nobr>
1349
1350
1351            final
1352
1353
1354            void</nobr>
1355        </td>
1356        <td class="jd-linkcol" width="100%"><nobr>
1357        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
1358
1359  </td></tr>
1360
1361
1362
1363    <tr class="alt-color api apilevel-" >
1364        <td class="jd-typecol"><nobr>
1365
1366
1367            final
1368
1369
1370            void</nobr>
1371        </td>
1372        <td class="jd-linkcol" width="100%"><nobr>
1373        <span class="sympad">wait</span>(long arg0)</nobr>
1374
1375  </td></tr>
1376
1377
1378</table>
1379  </div>
1380</div>
1381</td></tr>
1382
1383
1384</table>
1385
1386
1387</div><!-- jd-descr (summary) -->
1388
1389<!-- Details -->
1390
1391
1392
1393
1394
1395
1396
1397
1398<!-- XML Attributes -->
1399
1400
1401<!-- Enum Values -->
1402
1403
1404<!-- Constants -->
1405
1406
1407<!-- ========= ENUM CONSTANTS DETAIL ======== -->
1408<h2>Constants</h2>
1409
1410
1411
1412
1413<A NAME="GMS_ERROR_DIALOG"></A>
1414
1415<div class="jd-details api apilevel-">
1416    <h4 class="jd-details-title">
1417      <span class="normal">
1418        public
1419        static
1420        final
1421        String
1422      </span>
1423        GMS_ERROR_DIALOG
1424    </h4>
1425      <div class="api-level">
1426
1427
1428
1429
1430      </div>
1431    <div class="jd-details-descr">
1432
1433  <div class="jd-tagdata jd-tagdescr"><p></p></div>
1434
1435
1436        <div class="jd-tagdata">
1437        <span class="jd-tagtitle">Constant Value: </span>
1438        <span>
1439
1440                "GooglePlayServicesErrorDialog"
1441
1442        </span>
1443        </div>
1444
1445    </div>
1446</div>
1447
1448
1449
1450<A NAME="GOOGLE_PLAY_SERVICES_PACKAGE"></A>
1451
1452<div class="jd-details api apilevel-">
1453    <h4 class="jd-details-title">
1454      <span class="normal">
1455        public
1456        static
1457        final
1458        String
1459      </span>
1460        GOOGLE_PLAY_SERVICES_PACKAGE
1461    </h4>
1462      <div class="api-level">
1463
1464
1465
1466
1467      </div>
1468    <div class="jd-details-descr">
1469
1470  <div class="jd-tagdata jd-tagdescr"><p>Package name for Google Play services.
1471</p></div>
1472
1473
1474        <div class="jd-tagdata">
1475        <span class="jd-tagtitle">Constant Value: </span>
1476        <span>
1477
1478                "com.google.android.gms"
1479
1480        </span>
1481        </div>
1482
1483    </div>
1484</div>
1485
1486
1487
1488<A NAME="GOOGLE_PLAY_SERVICES_VERSION_CODE"></A>
1489
1490<div class="jd-details api apilevel-">
1491    <h4 class="jd-details-title">
1492      <span class="normal">
1493        public
1494        static
1495        final
1496        int
1497      </span>
1498        GOOGLE_PLAY_SERVICES_VERSION_CODE
1499    </h4>
1500      <div class="api-level">
1501
1502
1503
1504
1505      </div>
1506    <div class="jd-details-descr">
1507
1508  <div class="jd-tagdata jd-tagdescr"><p>Google Play services client library version (declared in library's
1509 AndroidManifest.xml android:versionCode).
1510</p></div>
1511
1512
1513        <div class="jd-tagdata">
1514        <span class="jd-tagtitle">Constant Value: </span>
1515        <span>
1516
1517                6108000
1518                (0x005d3360)
1519
1520        </span>
1521        </div>
1522
1523    </div>
1524</div>
1525
1526
1527
1528<A NAME="GOOGLE_PLAY_STORE_PACKAGE"></A>
1529
1530<div class="jd-details api apilevel-">
1531    <h4 class="jd-details-title">
1532      <span class="normal">
1533        public
1534        static
1535        final
1536        String
1537      </span>
1538        GOOGLE_PLAY_STORE_PACKAGE
1539    </h4>
1540      <div class="api-level">
1541
1542
1543
1544
1545      </div>
1546    <div class="jd-details-descr">
1547
1548  <div class="jd-tagdata jd-tagdescr"><p>Package name for Google Play services.
1549</p></div>
1550
1551
1552        <div class="jd-tagdata">
1553        <span class="jd-tagtitle">Constant Value: </span>
1554        <span>
1555
1556                "com.android.vending"
1557
1558        </span>
1559        </div>
1560
1561    </div>
1562</div>
1563
1564
1565
1566
1567<!-- Fields -->
1568
1569
1570<!-- Public ctors -->
1571
1572
1573
1574<!-- ========= CONSTRUCTOR DETAIL ======== -->
1575<!-- Protected ctors -->
1576
1577
1578
1579<!-- ========= METHOD DETAIL ======== -->
1580<!-- Public methdos -->
1581
1582<h2>Public Methods</h2>
1583
1584
1585
1586<A NAME="getErrorDialog(int, android.app.Activity, int)"></A>
1587
1588<div class="jd-details api apilevel-">
1589    <h4 class="jd-details-title">
1590      <span class="normal">
1591        public
1592        static
1593
1594
1595
1596        Dialog
1597      </span>
1598      <span class="sympad">getErrorDialog</span>
1599      <span class="normal">(int errorCode, Activity activity, int requestCode)</span>
1600    </h4>
1601      <div class="api-level">
1602        <div></div>
1603
1604
1605
1606      </div>
1607    <div class="jd-details-descr">
1608
1609  <div class="jd-tagdata jd-tagdescr"><p>Returns a dialog to address the provided errorCode. The returned dialog displays a localized
1610 message about the error and upon user confirmation (by tapping on dialog) will direct them to
1611 the Play Store if Google Play services is out of date or missing, or to system settings if
1612 Google Play services is disabled on the device.</p></div>
1613  <div class="jd-tagdata">
1614      <h5 class="jd-tagtitle">Parameters</h5>
1615      <table class="jd-tagtable">
1616        <tr>
1617          <th>errorCode</td>
1618          <td>error code returned by <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call.
1619            If errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then null is returned.</td>
1620        </tr>
1621        <tr>
1622          <th>activity</td>
1623          <td>parent activity for creating the dialog, also used for identifying language
1624            to display dialog in.</td>
1625        </tr>
1626        <tr>
1627          <th>requestCode</td>
1628          <td>The requestCode given when calling startActivityForResult.
1629</td>
1630        </tr>
1631      </table>
1632  </div>
1633
1634    </div>
1635</div>
1636
1637
1638<A NAME="getErrorDialog(int, android.app.Activity, int, android.content.DialogInterface.OnCancelListener)"></A>
1639
1640<div class="jd-details api apilevel-">
1641    <h4 class="jd-details-title">
1642      <span class="normal">
1643        public
1644        static
1645
1646
1647
1648        Dialog
1649      </span>
1650      <span class="sympad">getErrorDialog</span>
1651      <span class="normal">(int errorCode, Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener)</span>
1652    </h4>
1653      <div class="api-level">
1654        <div></div>
1655
1656
1657
1658      </div>
1659    <div class="jd-details-descr">
1660
1661  <div class="jd-tagdata jd-tagdescr"><p>Returns a dialog to address the provided errorCode. The returned dialog displays a localized
1662 message about the error and upon user confirmation (by tapping on dialog) will direct them to
1663 the Play Store if Google Play services is out of date or missing, or to system settings if
1664 Google Play services is disabled on the device.</p></div>
1665  <div class="jd-tagdata">
1666      <h5 class="jd-tagtitle">Parameters</h5>
1667      <table class="jd-tagtable">
1668        <tr>
1669          <th>errorCode</td>
1670          <td>error code returned by <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call.
1671            If errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then null is returned.</td>
1672        </tr>
1673        <tr>
1674          <th>activity</td>
1675          <td>parent activity for creating the dialog, also used for identifying language
1676            to display dialog in.</td>
1677        </tr>
1678        <tr>
1679          <th>requestCode</td>
1680          <td>The requestCode given when calling startActivityForResult.</td>
1681        </tr>
1682        <tr>
1683          <th>cancelListener</td>
1684          <td>The <code><a href="/reference/android/content/DialogInterface.OnCancelListener.html">DialogInterface.OnCancelListener</a></code> to invoke if the dialog is
1685            canceled.
1686</td>
1687        </tr>
1688      </table>
1689  </div>
1690
1691    </div>
1692</div>
1693
1694
1695<A NAME="getErrorPendingIntent(int, android.content.Context, int)"></A>
1696
1697<div class="jd-details api apilevel-">
1698    <h4 class="jd-details-title">
1699      <span class="normal">
1700        public
1701        static
1702
1703
1704
1705        PendingIntent
1706      </span>
1707      <span class="sympad">getErrorPendingIntent</span>
1708      <span class="normal">(int errorCode, Context context, int requestCode)</span>
1709    </h4>
1710      <div class="api-level">
1711        <div></div>
1712
1713
1714
1715      </div>
1716    <div class="jd-details-descr">
1717
1718  <div class="jd-tagdata jd-tagdescr"><p>Returns a PendingIntent to address the provided errorCode. It will direct them to one of the
1719 following places to either the Play Store if Google Play services is out of date or missing,
1720 or system settings if Google Play services is disabled on the device.</p></div>
1721  <div class="jd-tagdata">
1722      <h5 class="jd-tagtitle">Parameters</h5>
1723      <table class="jd-tagtable">
1724        <tr>
1725          <th>errorCode</td>
1726          <td>error code returned by <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call.
1727            If errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then null is returned.</td>
1728        </tr>
1729        <tr>
1730          <th>context</td>
1731          <td>parent context for creating the PendingIntent.</td>
1732        </tr>
1733        <tr>
1734          <th>requestCode</td>
1735          <td>The requestCode given when calling startActivityForResult.
1736</td>
1737        </tr>
1738      </table>
1739  </div>
1740
1741    </div>
1742</div>
1743
1744
1745<A NAME="getErrorString(int)"></A>
1746
1747<div class="jd-details api apilevel-">
1748    <h4 class="jd-details-title">
1749      <span class="normal">
1750        public
1751        static
1752
1753
1754
1755        String
1756      </span>
1757      <span class="sympad">getErrorString</span>
1758      <span class="normal">(int errorCode)</span>
1759    </h4>
1760      <div class="api-level">
1761        <div></div>
1762
1763
1764
1765      </div>
1766    <div class="jd-details-descr">
1767
1768  <div class="jd-tagdata jd-tagdescr"><p>Returns a human-readable string of the error code returned from
1769 <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.
1770</p></div>
1771
1772    </div>
1773</div>
1774
1775
1776<A NAME="getOpenSourceSoftwareLicenseInfo(android.content.Context)"></A>
1777
1778<div class="jd-details api apilevel-">
1779    <h4 class="jd-details-title">
1780      <span class="normal">
1781        public
1782        static
1783
1784
1785
1786        String
1787      </span>
1788      <span class="sympad">getOpenSourceSoftwareLicenseInfo</span>
1789      <span class="normal">(Context context)</span>
1790    </h4>
1791      <div class="api-level">
1792        <div></div>
1793
1794
1795
1796      </div>
1797    <div class="jd-details-descr">
1798
1799  <div class="jd-tagdata jd-tagdescr"><p>Returns the open source software license information for the Google Play services
1800 application, or null if Google Play services is not available on this device.
1801</p></div>
1802
1803    </div>
1804</div>
1805
1806
1807<A NAME="getRemoteContext(android.content.Context)"></A>
1808
1809<div class="jd-details api apilevel-">
1810    <h4 class="jd-details-title">
1811      <span class="normal">
1812        public
1813        static
1814
1815
1816
1817        Context
1818      </span>
1819      <span class="sympad">getRemoteContext</span>
1820      <span class="normal">(Context context)</span>
1821    </h4>
1822      <div class="api-level">
1823        <div></div>
1824
1825
1826
1827      </div>
1828    <div class="jd-details-descr">
1829
1830  <div class="jd-tagdata jd-tagdescr"><p>This gets the Context object of the Buddy APK. This loads the Buddy APK code from the Buddy
1831 APK into memory. This returned context can be used to create classes and obtain resources
1832 defined in the Buddy APK.</p></div>
1833  <div class="jd-tagdata">
1834      <h5 class="jd-tagtitle">Returns</h5>
1835      <ul class="nolist"><li>The Context object of the Buddy APK or null if the Buddy APK is not installed on the
1836         device.
1837</li></ul>
1838  </div>
1839
1840    </div>
1841</div>
1842
1843
1844<A NAME="getRemoteResource(android.content.Context)"></A>
1845
1846<div class="jd-details api apilevel-">
1847    <h4 class="jd-details-title">
1848      <span class="normal">
1849        public
1850        static
1851
1852
1853
1854        Resources
1855      </span>
1856      <span class="sympad">getRemoteResource</span>
1857      <span class="normal">(Context context)</span>
1858    </h4>
1859      <div class="api-level">
1860        <div></div>
1861
1862
1863
1864      </div>
1865    <div class="jd-details-descr">
1866
1867  <div class="jd-tagdata jd-tagdescr"><p>This gets the Resources object of the Buddy APK.</p></div>
1868  <div class="jd-tagdata">
1869      <h5 class="jd-tagtitle">Returns</h5>
1870      <ul class="nolist"><li>The Resources object of the Buddy APK or null if the Buddy APK is not installed on
1871         the device.
1872</li></ul>
1873  </div>
1874
1875    </div>
1876</div>
1877
1878
1879<A NAME="isGooglePlayServicesAvailable(android.content.Context)"></A>
1880
1881<div class="jd-details api apilevel-">
1882    <h4 class="jd-details-title">
1883      <span class="normal">
1884        public
1885        static
1886
1887
1888
1889        int
1890      </span>
1891      <span class="sympad">isGooglePlayServicesAvailable</span>
1892      <span class="normal">(Context context)</span>
1893    </h4>
1894      <div class="api-level">
1895        <div></div>
1896
1897
1898
1899      </div>
1900    <div class="jd-details-descr">
1901
1902  <div class="jd-tagdata jd-tagdescr"><p>Verifies that Google Play services is installed and enabled on this device, and that the
1903 version installed on this device is no older than the one required by this client.</p></div>
1904  <div class="jd-tagdata">
1905      <h5 class="jd-tagtitle">Returns</h5>
1906      <ul class="nolist"><li>status code indicating whether there was an error.  Can be one of following in
1907         <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html">ConnectionResult</a></code>: SUCCESS, SERVICE_MISSING,
1908         SERVICE_VERSION_UPDATE_REQUIRED, SERVICE_DISABLED, SERVICE_INVALID
1909</li></ul>
1910  </div>
1911
1912    </div>
1913</div>
1914
1915
1916<A NAME="isGoogleSignedUid(android.content.pm.PackageManager, int)"></A>
1917
1918<div class="jd-details api apilevel-">
1919    <h4 class="jd-details-title">
1920      <span class="normal">
1921        public
1922        static
1923
1924
1925
1926        boolean
1927      </span>
1928      <span class="sympad">isGoogleSignedUid</span>
1929      <span class="normal">(PackageManager packageManager, int uid)</span>
1930    </h4>
1931      <div class="api-level">
1932        <div></div>
1933
1934
1935
1936      </div>
1937    <div class="jd-details-descr">
1938
1939  <div class="jd-tagdata jd-tagdescr"><p>Throws SecurityException if uid does not belong to a Google signed app.
1940</p></div>
1941
1942    </div>
1943</div>
1944
1945
1946<A NAME="isUserRecoverableError(int)"></A>
1947
1948<div class="jd-details api apilevel-">
1949    <h4 class="jd-details-title">
1950      <span class="normal">
1951        public
1952        static
1953
1954
1955
1956        boolean
1957      </span>
1958      <span class="sympad">isUserRecoverableError</span>
1959      <span class="normal">(int errorCode)</span>
1960    </h4>
1961      <div class="api-level">
1962        <div></div>
1963
1964
1965
1966      </div>
1967    <div class="jd-details-descr">
1968
1969  <div class="jd-tagdata jd-tagdescr"><p>Determines whether an error is user-recoverable. If true, proceed by calling
1970 <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)">getErrorDialog(int, Activity, int)</a></code> and showing the dialog.</p></div>
1971  <div class="jd-tagdata">
1972      <h5 class="jd-tagtitle">Parameters</h5>
1973      <table class="jd-tagtable">
1974        <tr>
1975          <th>errorCode</td>
1976          <td>error code returned by <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>, or
1977       returned to your application via
1978       <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html#onConnectionFailed(com.google.android.gms.common.ConnectionResult)">onConnectionFailed(ConnectionResult)</a></code></td>
1979        </tr>
1980      </table>
1981  </div>
1982  <div class="jd-tagdata">
1983      <h5 class="jd-tagtitle">Returns</h5>
1984      <ul class="nolist"><li>true if the error is recoverable with
1985         <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)">getErrorDialog(int, Activity, int)</a></code>
1986</li></ul>
1987  </div>
1988
1989    </div>
1990</div>
1991
1992
1993<A NAME="showErrorDialogFragment(int, android.app.Activity, int)"></A>
1994
1995<div class="jd-details api apilevel-">
1996    <h4 class="jd-details-title">
1997      <span class="normal">
1998        public
1999        static
2000
2001
2002
2003        boolean
2004      </span>
2005      <span class="sympad">showErrorDialogFragment</span>
2006      <span class="normal">(int errorCode, Activity activity, int requestCode)</span>
2007    </h4>
2008      <div class="api-level">
2009        <div></div>
2010
2011
2012
2013      </div>
2014    <div class="jd-details-descr">
2015
2016  <div class="jd-tagdata jd-tagdescr"><p>Display a DialogFragment for an error code returned by
2017 <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.</p></div>
2018  <div class="jd-tagdata">
2019      <h5 class="jd-tagtitle">Parameters</h5>
2020      <table class="jd-tagtable">
2021        <tr>
2022          <th>errorCode</td>
2023          <td>error code returned by
2024            <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call. If
2025            errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then this
2026            does nothing.</td>
2027        </tr>
2028        <tr>
2029          <th>activity</td>
2030          <td>parent activity for creating the dialog, also used for
2031            identifying language to display dialog in.</td>
2032        </tr>
2033        <tr>
2034          <th>requestCode</td>
2035          <td>The requestCode given when calling
2036            startActivityForResult.</td>
2037        </tr>
2038      </table>
2039  </div>
2040  <div class="jd-tagdata">
2041      <h5 class="jd-tagtitle">Returns</h5>
2042      <ul class="nolist"><li>true if the dialog is shown, false otherwise</li></ul>
2043  </div>
2044  <div class="jd-tagdata">
2045      <h5 class="jd-tagtitle">Throws</h5>
2046      <table class="jd-tagtable">
2047        <tr>
2048            <th>RuntimeException</td>
2049            <td>if API level is below 11 and <code>activity</code> is not a
2050            <code><a href="/reference/android/support/v4/app/FragmentActivity.html">FragmentActivity</a></code>.</td>
2051        </tr>
2052      </table>
2053  </div>
2054  <div class="jd-tagdata">
2055      <h5 class="jd-tagtitle">See Also</h5>
2056      <ul class="nolist"><li><code><a href="/reference/com/google/android/gms/common/ErrorDialogFragment.html">ErrorDialogFragment</a></code></li><li><code><a href="/reference/default package/SupportErrorDialogFragment.html">SupportErrorDialogFragment</a></code></li>
2057      </ul>
2058  </div>
2059
2060    </div>
2061</div>
2062
2063
2064<A NAME="showErrorDialogFragment(int, android.app.Activity, android.support.v4.app.Fragment, int, android.content.DialogInterface.OnCancelListener)"></A>
2065
2066<div class="jd-details api apilevel-">
2067    <h4 class="jd-details-title">
2068      <span class="normal">
2069        public
2070        static
2071
2072
2073
2074        boolean
2075      </span>
2076      <span class="sympad">showErrorDialogFragment</span>
2077      <span class="normal">(int errorCode, Activity activity, Fragment fragment, int requestCode, DialogInterface.OnCancelListener cancelListener)</span>
2078    </h4>
2079      <div class="api-level">
2080        <div></div>
2081
2082
2083
2084      </div>
2085    <div class="jd-details-descr">
2086
2087  <div class="jd-tagdata jd-tagdescr"><p></p></div>
2088
2089    </div>
2090</div>
2091
2092
2093<A NAME="showErrorDialogFragment(int, android.app.Activity, int, android.content.DialogInterface.OnCancelListener)"></A>
2094
2095<div class="jd-details api apilevel-">
2096    <h4 class="jd-details-title">
2097      <span class="normal">
2098        public
2099        static
2100
2101
2102
2103        boolean
2104      </span>
2105      <span class="sympad">showErrorDialogFragment</span>
2106      <span class="normal">(int errorCode, Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener)</span>
2107    </h4>
2108      <div class="api-level">
2109        <div></div>
2110
2111
2112
2113      </div>
2114    <div class="jd-details-descr">
2115
2116  <div class="jd-tagdata jd-tagdescr"><p>Display a DialogFragment for an error code returned by
2117 <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code>.</p></div>
2118  <div class="jd-tagdata">
2119      <h5 class="jd-tagtitle">Parameters</h5>
2120      <table class="jd-tagtable">
2121        <tr>
2122          <th>errorCode</td>
2123          <td>error code returned by
2124            <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call. If
2125            errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then this
2126            does nothing</td>
2127        </tr>
2128        <tr>
2129          <th>activity</td>
2130          <td>parent activity for creating the dialog, also used for
2131            identifying language to display dialog in.</td>
2132        </tr>
2133        <tr>
2134          <th>requestCode</td>
2135          <td>The requestCode given when calling
2136            startActivityForResult.</td>
2137        </tr>
2138        <tr>
2139          <th>cancelListener</td>
2140          <td>The <code><a href="/reference/android/content/DialogInterface.OnCancelListener.html">DialogInterface.OnCancelListener</a></code> to
2141            invoke if the dialog is canceled.</td>
2142        </tr>
2143      </table>
2144  </div>
2145  <div class="jd-tagdata">
2146      <h5 class="jd-tagtitle">Returns</h5>
2147      <ul class="nolist"><li>true if the dialog is shown, false otherwise.</li></ul>
2148  </div>
2149  <div class="jd-tagdata">
2150      <h5 class="jd-tagtitle">Throws</h5>
2151      <table class="jd-tagtable">
2152        <tr>
2153            <th>RuntimeException</td>
2154            <td>if API level is below 11 and <code>activity</code> is not a
2155            <code><a href="/reference/android/support/v4/app/FragmentActivity.html">FragmentActivity</a></code>.</td>
2156        </tr>
2157      </table>
2158  </div>
2159  <div class="jd-tagdata">
2160      <h5 class="jd-tagtitle">See Also</h5>
2161      <ul class="nolist"><li><code><a href="/reference/com/google/android/gms/common/ErrorDialogFragment.html">ErrorDialogFragment</a></code></li><li><code><a href="/reference/default package/SupportErrorDialogFragment.html">SupportErrorDialogFragment</a></code></li>
2162      </ul>
2163  </div>
2164
2165    </div>
2166</div>
2167
2168
2169<A NAME="showErrorNotification(int, android.content.Context)"></A>
2170
2171<div class="jd-details api apilevel-">
2172    <h4 class="jd-details-title">
2173      <span class="normal">
2174        public
2175        static
2176
2177
2178
2179        void
2180      </span>
2181      <span class="sympad">showErrorNotification</span>
2182      <span class="normal">(int errorCode, Context context)</span>
2183    </h4>
2184      <div class="api-level">
2185        <div></div>
2186
2187
2188
2189      </div>
2190    <div class="jd-details-descr">
2191
2192  <div class="jd-tagdata jd-tagdescr"><p>Displays a notification relevant to the provided error code. This method is similar to
2193 <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)">getErrorDialog(int, android.app.Activity, int)</a></code>, but is provided for background tasks
2194 that cannot or shouldn't display dialogs.</p></div>
2195  <div class="jd-tagdata">
2196      <h5 class="jd-tagtitle">Parameters</h5>
2197      <table class="jd-tagtable">
2198        <tr>
2199          <th>errorCode</td>
2200          <td>error code returned by <code><a href="/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable(Context)</a></code> call.
2201            If errorCode is <code><a href="/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a></code> then null is returned.</td>
2202        </tr>
2203        <tr>
2204          <th>context</td>
2205          <td>used for identifying language to display dialog in as well as accessing the
2206            <code><a href="/reference/android/app/NotificationManager.html">NotificationManager</a></code>.
2207</td>
2208        </tr>
2209      </table>
2210  </div>
2211
2212    </div>
2213</div>
2214
2215
2216
2217
2218
2219<!-- ========= METHOD DETAIL ======== -->
2220
2221
2222
2223<!-- ========= END OF CLASS DATA ========= -->
2224<A NAME="navbar_top"></A>
2225
2226<div id="footer" class="wrap" >
2227
2228
2229  <div id="copyright">
2230
2231  Except as noted, this content is licensed under <a
2232  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
2233  For details and restrictions, see the <a href="/license.html">
2234  Content License</a>.
2235  </div>
2236  <div id="build_info">
2237
2238<script src="/timestamp.js" type="text/javascript"></script>
2239<script>document.write(BUILD_TIMESTAMP)</script>
2240
2241  </div>
2242
2243
2244  <div id="footerlinks">
2245
2246  <p>
2247    <a href="/about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
2248    <a href="/legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
2249    <a href="/support.html">Support</a>
2250  </p>
2251  </div>
2252
2253</div> <!-- end footer -->
2254</div> <!-- jd-content -->
2255
2256</div><!-- end doc-content -->
2257
2258</div> <!-- end body-content -->
2259
2260
2261
2262
2263
2264
2265</body>
2266</html>
2267