blob: 210b1352d57e32287d97bc6b40c564893def5347 [file] [log] [blame]
Quddus Chong900831f2015-04-17 15:01:16 -07001<!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
88
89
90
91
92
93
94
95
96
97
98
99<html>
100<head>
101
102
103<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
104<meta name="viewport" content="width=device-width" />
105
106<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
107<title>ServiceTestRule | Android Developers</title>
108
109<!-- STYLESHEETS -->
110<link rel="stylesheet"
111href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
112<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
113 title="roboto">
114<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css">
115
116
117<!-- FULLSCREEN STYLESHEET -->
118<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
119type="text/css">
120
121
122<!-- JAVASCRIPT -->
123<script src="http://www.google.com/jsapi" type="text/javascript"></script>
124<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
125<script type="text/javascript">
126 var toRoot = "../../../../../";
127 var metaTags = [];
128 var devsite = false;
129</script>
130<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script>
131
132
133
134<script>
135 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
136 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
137 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
138 })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
139
140 ga('create', 'UA-5831155-1', 'android.com');
141 ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'}); // New tracker);
142 ga('send', 'pageview');
143 ga('universal.send', 'pageview'); // Send page view for new tracker.
144</script>
145
146</head>
147
148<body class="gc-documentation
149 develop reference" itemscope itemtype="http://schema.org/Article">
150 <div id="doc-api-level" class="" style="display:none"></div>
151 <a name="top"></a>
152
153
154<a name="top"></a>
155
156<!-- dialog to prompt lang pref change when loaded from hardcoded URL
157<div id="langMessage" style="display:none">
158 <div>
159 <div class="lang en">
160 <p>You requested a page in English, would you like to proceed with this language setting?</p>
161 </div>
162 <div class="lang es">
163 <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
164 </div>
165 <div class="lang ja">
166 <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
167 </div>
168 <div class="lang ko">
169 <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
170 </div>
171 <div class="lang ru">
172 <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
173 </div>
174 <div class="lang zh-cn">
175 <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
176 </div>
177 <div class="lang zh-tw">
178 <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
179 </div>
180 <a href="#" class="button yes" onclick="return false;">
181 <span class="lang en">Yes</span>
182 <span class="lang es">Sí</span>
183 <span class="lang ja">Yes</span>
184 <span class="lang ko">Yes</span>
185 <span class="lang ru">Yes</span>
186 <span class="lang zh-cn">是的</span>
187 <span class="lang zh-tw">没有</span>
188 </a>
189 <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
190 <span class="lang en">No</span>
191 <span class="lang es">No</span>
192 <span class="lang ja">No</span>
193 <span class="lang ko">No</span>
194 <span class="lang ru">No</span>
195 <span class="lang zh-cn">没有</span>
196 <span class="lang zh-tw">没有</span>
197 </a>
198 </div>
199</div> -->
200
201
202 <!-- Header -->
203 <div id="header-wrapper">
204 <div id="header">
205
206
207
208
209 <div class="wrap" id="header-wrap">
210 <div class="col-3 logo">
211 <a href="../../../../../index.html">
212 <img src="../../../../../assets/images/dac_logo.png"
213 srcset="../../../../../assets/images/dac_logo@2x.png 2x"
214 width="123" height="25" alt="Android Developers" />
215 </a>
216 <div class="btn-quicknav" id="btn-quicknav">
217 <a href="#" class="arrow-inactive">Quicknav</a>
218 <a href="#" class="arrow-active">Quicknav</a>
219 </div>
220 </div>
221 <ul class="nav-x col-9">
222 <li class="design">
223 <a href="../../../../../design/index.html"
224 zh-tw-lang="設計"
225 zh-cn-lang="设计"
226 ru-lang="Проектирование"
227 ko-lang="디자인"
228 ja-lang="設計"
229 es-lang="Diseñar"
230 >Design</a></li>
231 <li class="develop"><a href="../../../../../develop/index.html"
232 zh-tw-lang="開發"
233 zh-cn-lang="开发"
234 ru-lang="Разработка"
235 ko-lang="개발"
236 ja-lang="開発"
237 es-lang="Desarrollar"
238 >Develop</a></li>
239 <li class="distribute last"><a href="../../../../../distribute/index.html"
240 zh-tw-lang="發佈"
241 zh-cn-lang="分发"
242 ru-lang="Распространение"
243 ko-lang="배포"
244 ja-lang="配布"
245 es-lang="Distribuir"
246 >Distribute</a></li>
247 </ul>
248
249
250
251
252<div class="menu-container">
253 <div class="moremenu">
254 <div id="more-btn"></div>
255 </div>
256 <div class="morehover" id="moremenu">
257 <div class="top"></div>
258 <div class="mid">
259 <div class="header">Links</div>
260 <ul>
261 <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
262 <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
263 <li><a href="../../../../../about/index.html">About Android</a></li>
264 </ul>
265 <div class="header">Android Sites</div>
266 <ul>
267 <li><a href="http://www.android.com">Android.com</a></li>
268 <li class="active"><a>Android Developers</a></li>
269 <li><a href="http://source.android.com">Android Open Source Project</a></li>
270 </ul>
271
272
273
274
275 <br class="clearfix" />
276 </div><!-- end 'mid' -->
277 <div class="bottom"></div>
278 </div><!-- end 'moremenu' -->
279
280 <div class="search" id="search-container">
281 <div class="search-inner">
282 <div id="search-btn"></div>
283 <div class="left"></div>
284 <form onsubmit="return submit_search()">
285 <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
286 onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
287 onkeydown="return search_changed(event, true, '../../../../../')"
288 onkeyup="return search_changed(event, false, '../../../../../')" />
289 </form>
290 <div class="right"></div>
291 <a class="close hide">close</a>
292 <div class="left"></div>
293 <div class="right"></div>
294 </div><!-- end search-inner -->
295 </div><!-- end search-container -->
296
297 <div class="search_filtered_wrapper reference">
298 <div class="suggest-card reference no-display">
299 <ul class="search_filtered">
300 </ul>
301 </div>
302 </div>
303
304 <div class="search_filtered_wrapper docs">
305 <div class="suggest-card dummy no-display">&nbsp;</div>
306 <div class="suggest-card develop no-display">
307 <ul class="search_filtered">
308 </ul>
309 <div class="child-card guides no-display">
310 </div>
311 <div class="child-card training no-display">
312 </div>
313 <div class="child-card samples no-display">
314 </div>
315 </div>
316 <div class="suggest-card design no-display">
317 <ul class="search_filtered">
318 </ul>
319 </div>
320 <div class="suggest-card distribute no-display">
321 <ul class="search_filtered">
322 </ul>
323 </div>
324 </div>
325</div><!-- end menu-container (search and menu widget) -->
326
327
328
329 <!-- Expanded quicknav -->
330 <div id="quicknav" class="col-13">
331 <ul>
332 <li class="about">
333 <ul>
334 <li><a href="../../../../../about/index.html">About</a></li>
335 <li><a href="../../../../../wear/index.html">Wear</a></li>
336 <li><a href="../../../../../tv/index.html">TV</a></li>
337 <li><a href="../../../../../auto/index.html">Auto</a></li>
338 </ul>
339 </li>
340 <li class="design">
341 <ul>
342 <li><a href="../../../../../design/index.html">Get Started</a></li>
343 <li><a href="../../../../../design/devices.html">Devices</a></li>
344 <li><a href="../../../../../design/style/index.html">Style</a></li>
345 <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
346 <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
347 <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
348 <li><a href="../../../../../design/videos/index.html">Videos</a></li>
349 </ul>
350 </li>
351 <li class="develop">
352 <ul>
353 <li><a href="../../../../../training/index.html"
354 zh-tw-lang="訓練課程"
355 zh-cn-lang="培训"
356 ru-lang="Курсы"
357 ko-lang="교육"
358 ja-lang="トレーニング"
359 es-lang="Capacitación"
360 >Training</a></li>
361 <li><a href="../../../../../guide/index.html"
362 zh-tw-lang="API 指南"
363 zh-cn-lang="API 指南"
364 ru-lang="Руководства по API"
365 ko-lang="API 가이드"
366 ja-lang="API ガイド"
367 es-lang="Guías de la API"
368 >API Guides</a></li>
369 <li><a href="../../../../../reference/packages.html"
370 zh-tw-lang="參考資源"
371 zh-cn-lang="参考"
372 ru-lang="Справочник"
373 ko-lang="참조문서"
374 ja-lang="リファレンス"
375 es-lang="Referencia"
376 >Reference</a></li>
377 <li><a href="../../../../../sdk/index.html"
378 zh-tw-lang="相關工具"
379 zh-cn-lang="工具"
380 ru-lang="Инструменты"
381 ko-lang="도구"
382 ja-lang="ツール"
383 es-lang="Herramientas"
384 >Tools</a>
385 </li>
386 <li><a href="../../../../../google/index.html">Google Services</a>
387 </li>
388
389 </ul>
390 </li>
391 <li class="distribute last">
392 <ul>
393 <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
394 <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
395 <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
396 <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
397 <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
398 <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li>
399 <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
400 <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
401 </ul>
402 </li>
403 </ul>
404 </div><!-- /Expanded quicknav -->
405 </div><!-- end header-wrap.wrap -->
406 </div><!-- end header -->
407
408
409 <!-- Secondary x-nav -->
410 <div id="nav-x">
411 <div class="wrap" style="position:relative;z-index:1">
412
413
414
415
416
417 <ul class="nav-x col-9 develop" style="width:100%">
418 <li class="training"><a href="../../../../../training/index.html"
419 zh-tw-lang="訓練課程"
420 zh-cn-lang="培训"
421 ru-lang="Курсы"
422 ko-lang="교육"
423 ja-lang="トレーニング"
424 es-lang="Capacitación"
425 >Training</a></li>
426 <li class="guide"><a href="../../../../../guide/index.html"
427 zh-tw-lang="API 指南"
428 zh-cn-lang="API 指南"
429 ru-lang="Руководства по API"
430 ko-lang="API 가이드"
431 ja-lang="API ガイド"
432 es-lang="Guías de la API"
433 >API Guides</a></li>
434 <li class="reference"><a href="../../../../../reference/packages.html"
435 zh-tw-lang="參考資源"
436 zh-cn-lang="参考"
437 ru-lang="Справочник"
438 ko-lang="참조문서"
439 ja-lang="リファレンス"
440 es-lang="Referencia"
441 >Reference</a></li>
442 <li class="tools"><a href="../../../../../sdk/index.html"
443 zh-tw-lang="相關工具"
444 zh-cn-lang="工具"
445 ru-lang="Инструменты"
446 ko-lang="도구"
447 ja-lang="ツール"
448 es-lang="Herramientas"
449 >Tools</a></li>
450 <li class="google"><a href="../../../../../google/index.html"
451 >Google Services</a>
452 </li>
453
454 </ul>
455 </div>
456 </div>
457 <!-- /Sendondary x-nav DEVELOP -->
458
459
460
461 <div id="searchResults" class="wrap" style="display:none;">
462 <h2 id="searchTitle">Results</h2>
463 <div id="leftSearchControl" class="search-control">Loading...</div>
464 </div>
465 </div> <!--end header-wrapper -->
466
467 <div id="sticky-header">
468 <div>
469 <a class="logo" href="#top"></a>
470 <a class="top" href="#top"></a>
471 <ul class="breadcrumb">
472
473 <li class="current">ServiceTestRule</li>
474 </ul>
475 </div>
476 </div>
477
478
479
480
481
482 <div class="wrap clearfix" id="body-content">
483 <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
484 <div id="devdoc-nav">
485 <div id="api-nav-header">
486 <div id="api-level-toggle">
487 <label for="apiLevelCheckbox" class="disabled"
488 title="Select your target API level to dim unavailable APIs">API level: </label>
489 <div class="select-wrapper">
490 <select id="apiLevelSelector">
491 <!-- option elements added by buildApiLevelSelector() -->
492 </select>
493 </div>
494 </div><!-- end toggle -->
495 <div id="api-nav-title">Android APIs</div>
496 </div><!-- end nav header -->
497 <script>
498 var SINCE_DATA = [ ];
499 buildApiLevelSelector();
500 </script>
501
502 <div id="swapper">
503 <div id="nav-panels">
504 <div id="resize-packages-nav">
505 <div id="packages-nav" class="scroll-pane">
506
507 <ul>
508
509 <li class="api apilevel-">
510 <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
511 <li class="api apilevel-">
512 <a href="../../../../../reference/android/support/test/annotation/package-summary.html">android.support.test.annotation</a></li>
513 <li class="api apilevel-">
514 <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
515 <li class="api apilevel-">
516 <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
517 <li class="api apilevel-">
518 <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
519 <li class="api apilevel-">
520 <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
521 <li class="api apilevel-">
522 <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
523 <li class="api apilevel-">
524 <a href="../../../../../reference/android/support/test/espresso/intent/package-summary.html">android.support.test.espresso.intent</a></li>
525 <li class="api apilevel-">
526 <a href="../../../../../reference/android/support/test/espresso/intent/matcher/package-summary.html">android.support.test.espresso.intent.matcher</a></li>
527 <li class="api apilevel-">
528 <a href="../../../../../reference/android/support/test/espresso/intent/rule/package-summary.html">android.support.test.espresso.intent.rule</a></li>
529 <li class="api apilevel-">
530 <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
531 <li class="api apilevel-">
532 <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
533 <li class="api apilevel-">
534 <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
535 <li class="selected api apilevel-">
536 <a href="../../../../../reference/android/support/test/rule/package-summary.html">android.support.test.rule</a></li>
537 <li class="api apilevel-">
538 <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
539 <li class="api apilevel-">
540 <a href="../../../../../reference/android/support/test/runner/intent/package-summary.html">android.support.test.runner.intent</a></li>
541 <li class="api apilevel-">
542 <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
543 <li class="api apilevel-">
544 <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
545 </ul><br/>
546
547 </div> <!-- end packages-nav -->
548 </div> <!-- end resize-packages -->
549 <div id="classes-nav" class="scroll-pane">
550
551
552
553 <ul>
554
555
556
557 <li><h2>Classes</h2>
558 <ul>
559 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/rule/ActivityTestRule.html">ActivityTestRule</a></li>
560 <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html">ServiceTestRule</a></li>
561 <li class="api apilevel-"><a href="../../../../../reference/android/support/test/rule/UiThreadTestRule.html">UiThreadTestRule</a></li>
562 </ul>
563 </li>
564
565
566
567 </ul><br/>
568
569
570 </div><!-- end classes -->
571 </div><!-- end nav-panels -->
572 <div id="nav-tree" style="display:none" class="scroll-pane">
573 <div id="tree-list"></div>
574 </div><!-- end nav-tree -->
575 </div><!-- end swapper -->
576 <div id="nav-swap">
577 <a class="fullscreen">fullscreen</a>
578 <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
579 </div>
580 </div> <!-- end devdoc-nav -->
581 </div> <!-- end side-nav -->
582 <script type="text/javascript">
583 // init fullscreen based on user pref
584 var fullscreen = readCookie("fullscreen");
585 if (fullscreen != 0) {
586 if (fullscreen == "false") {
587 toggleFullscreen(false);
588 } else {
589 toggleFullscreen(true);
590 }
591 }
592 // init nav version for mobile
593 if (isMobile) {
594 swapNav(); // tree view should be used on mobile
595 $('#nav-swap').hide();
596 } else {
597 chooseDefaultNav();
598 if ($("#nav-tree").is(':visible')) {
599 init_default_navtree("../../../../../");
600 }
601 }
602 // scroll the selected page into view
603 $(document).ready(function() {
604 scrollIntoView("packages-nav");
605 scrollIntoView("classes-nav");
606 });
607 </script>
608
609
610
611
612
613<div class="col-12" id="doc-col">
614
615<div id="api-info-block">
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634<div class="sum-details-links">
635
636Summary:
637
638
639
640
641
642
643
644
645
646 <a href="#pubctors">Ctors</a>
647
648
649
650
651 &#124; <a href="#pubmethods">Methods</a>
652
653
654
655 &#124; <a href="#promethods">Protected Methods</a>
656
657
658
659 &#124; <a href="#inhmethods">Inherited Methods</a>
660
661&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
662
663</div><!-- end sum-details-links -->
664<div class="api-level">
665
666
667
668
669</div>
670</div><!-- end api-info-block -->
671
672
673<!-- ======== START OF CLASS DATA ======== -->
674
675<div id="jd-header">
676 public
677
678
679
680 class
681<h1 itemprop="name">ServiceTestRule</h1>
682
683
684
685
686 extends Object<br/>
687
688
689
690
691
692
693 implements
694
695 TestRule
696
697
698
699
700
701
702
703
704</div><!-- end header -->
705
706<div id="naMessage"></div>
707
708<div id="jd-content" class="api apilevel-">
709<table class="jd-inheritance-table">
710
711
712 <tr>
713
714 <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
715 </tr>
716
717
718 <tr>
719
720 <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
721
722 <td colspan="1" class="jd-inheritance-class-cell">android.support.test.rule.ServiceTestRule</td>
723 </tr>
724
725
726</table>
727
728
729
730
731
732
733
734<div class="jd-descr">
735
736
737<h2>Class Overview</h2>
738<p itemprop="articleBody">A JUnit rule that provides a simplified mechanism to start and shutdown your service before
739 and after the duration of your test. It also guarantees that the service is successfully
740 connected when starting (or binding to) a service. The service can be started
741 (or bound) using one of the helper methods. It will automatically be stopped (or unbound) after
742 the test completes and any methods annotated with
743 <a href="http://junit.sourceforge.net/javadoc/org/junit/After.html"><code>After</code></a> are
744 finished.
745 <p>
746 Note: This rule doesn't support <code><a href="../../../../../reference/android/app/IntentService.html">IntentService</a></code> because it's automatically
747 destroyed when <code><a href="../../../../../reference/android/app/IntentService.html#onHandleIntent(android.content.Intent)">onHandleIntent(android.content.Intent)</a></code> finishes
748 all outstanding commands. So there is no guarantee to establish a successful connection
749 in a timely manner.
750
751 <p>
752 Usage:
753 <pre>
754 &#064;Rule
755 public final ServiceTestRule mServiceRule = new ServiceTestRule();
756
757 &#064;Test
758 public void testWithStartedService() {
759 mServiceRule.startService(
760 new Intent(InstrumentationRegistry.getTargetContext(), MyService.class));
761 //do something
762 }
763
764 &#064;Test
765 public void testWithBoundService() {
766 IBinder binder = mServiceRule.bindService(
767 new Intent(InstrumentationRegistry.getTargetContext(), MyService.class));
768 MyService service = ((MyService.LocalBinder) binder).getService();
769 assertTrue("True wasn't returned", service.doSomethingToReturnTrue());
770 }
771 </pre>
772 <p>
773</p>
774
775
776
777
778
779</div><!-- jd-descr -->
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796<div class="jd-descr">
797
798
799<h2>Summary</h2>
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823<!-- ======== CONSTRUCTOR SUMMARY ======== -->
824<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
825
826
827
828
829 <tr class="alt-color api apilevel-" >
830 <td class="jd-typecol"><nobr>
831
832
833
834
835
836 </nobr>
837 </td>
838 <td class="jd-linkcol" width="100%"><nobr>
839 <span class="sympad"><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html#ServiceTestRule()">ServiceTestRule</a></span>()</nobr>
840
841 <div class="jd-descrdiv">
842 Creates a <code><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html">ServiceTestRule</a></code> with a default timeout of <code><a href="../../../../../">.DEFAULT_TIMEOUT</a></code> seconds
843
844
845
846
847 </div>
848
849 </td></tr>
850
851
852
853</table>
854
855
856
857
858
859
860<!-- ========== METHOD SUMMARY =========== -->
861<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
862
863
864
865
866 <tr class="alt-color api apilevel-" >
867 <td class="jd-typecol"><nobr>
868
869
870
871
872
873 Statement</nobr>
874 </td>
875 <td class="jd-linkcol" width="100%"><nobr>
876 <span class="sympad"><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html#apply(org.junit.runners.model.Statement, org.junit.runner.Description)">apply</a></span>(Statement base, Description description)</nobr>
877
878 </td></tr>
879
880
881
882 <tr class=" api apilevel-" >
883 <td class="jd-typecol"><nobr>
884
885
886
887
888
889 IBinder</nobr>
890 </td>
891 <td class="jd-linkcol" width="100%"><nobr>
892 <span class="sympad"><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html#bindService(android.content.Intent, android.content.ServiceConnection, int)">bindService</a></span>(Intent intent, ServiceConnection connection, int flags)</nobr>
893
894 <div class="jd-descrdiv">
895 Starts the service under test, in the same way as if it were started by
896 <code><a href="../../../../../reference/android/content/Context.html#bindService(android.content.Intent, android.content.ServiceConnection, int)">Context.bindService(Intent, ServiceConnection, flags)</a></code> with an
897 <code><a href="../../../../../reference/android/content/Intent.html">Intent</a></code> that identifies a service.
898
899
900
901 </div>
902
903 </td></tr>
904
905
906
907 <tr class="alt-color api apilevel-" >
908 <td class="jd-typecol"><nobr>
909
910
911
912
913
914 IBinder</nobr>
915 </td>
916 <td class="jd-linkcol" width="100%"><nobr>
917 <span class="sympad"><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html#bindService(android.content.Intent)">bindService</a></span>(Intent intent)</nobr>
918
919 <div class="jd-descrdiv">
920 Works just like
921 <code><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html#bindService(android.content.Intent, android.content.ServiceConnection, int)">bindService(android.content.Intent, android.content.ServiceConnection, int)</a></code> except
922 uses an internal <code><a href="../../../../../reference/android/content/ServiceConnection.html">ServiceConnection</a></code> to guarantee successful bound.
923
924
925
926 </div>
927
928 </td></tr>
929
930
931
932 <tr class=" api apilevel-" >
933 <td class="jd-typecol"><nobr>
934
935
936
937
938
939 void</nobr>
940 </td>
941 <td class="jd-linkcol" width="100%"><nobr>
942 <span class="sympad"><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html#startService(android.content.Intent)">startService</a></span>(Intent intent)</nobr>
943
944 <div class="jd-descrdiv">
945 Starts the service under test and blocks until the service is connected, in the same way as
946 if it were started by <code><a href="../../../../../reference/android/content/Context.html#startService(android.content.Intent)">Context.startService(Intent)</a></code> with an <code><a href="../../../../../reference/android/content/Intent.html">Intent</a></code> that identifies a
947 service.
948
949
950
951 </div>
952
953 </td></tr>
954
955
956
957 <tr class="alt-color api apilevel-" >
958 <td class="jd-typecol"><nobr>
959
960
961
962 static
963
964 <a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html">ServiceTestRule</a></nobr>
965 </td>
966 <td class="jd-linkcol" width="100%"><nobr>
967 <span class="sympad"><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html#withTimeout(long, java.util.concurrent.TimeUnit)">withTimeout</a></span>(long timeout, TimeUnit timeUnit)</nobr>
968
969 <div class="jd-descrdiv">
970 Factory method to create a <code><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html">ServiceTestRule</a></code> with a custom timeout
971
972
973
974 </div>
975
976 </td></tr>
977
978
979
980</table>
981
982
983
984
985<!-- ========== METHOD SUMMARY =========== -->
986<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
987
988
989
990
991 <tr class="alt-color api apilevel-" >
992 <td class="jd-typecol"><nobr>
993
994
995
996
997
998 void</nobr>
999 </td>
1000 <td class="jd-linkcol" width="100%"><nobr>
1001 <span class="sympad"><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html#afterService()">afterService</a></span>()</nobr>
1002
1003 <div class="jd-descrdiv">
1004 Override this method to do your own service specific clean up after the service is shutdown.
1005
1006
1007
1008 </div>
1009
1010 </td></tr>
1011
1012
1013
1014 <tr class=" api apilevel-" >
1015 <td class="jd-typecol"><nobr>
1016
1017
1018
1019
1020
1021 void</nobr>
1022 </td>
1023 <td class="jd-linkcol" width="100%"><nobr>
1024 <span class="sympad"><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html#beforeService()">beforeService</a></span>()</nobr>
1025
1026 <div class="jd-descrdiv">
1027 Override this method to do your own service specific initialization before starting or
1028 binding to the service.
1029
1030
1031
1032 </div>
1033
1034 </td></tr>
1035
1036
1037
1038</table>
1039
1040
1041
1042
1043
1044<!-- ========== METHOD SUMMARY =========== -->
1045<table id="inhmethods" class="jd-sumtable"><tr><th>
1046 <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
1047 <div style="clear:left;">Inherited Methods</div></th></tr>
1048
1049
1050<tr class="api apilevel-" >
1051<td colspan="12">
1052 <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
1053 ><img id="inherited-methods-java.lang.Object-trigger"
1054 src="../../../../../assets/images/triangle-closed.png"
1055 class="jd-expando-trigger-img" /></a>
1056From class
1057
1058 java.lang.Object
1059
1060<div id="inherited-methods-java.lang.Object">
1061 <div id="inherited-methods-java.lang.Object-list"
1062 class="jd-inheritedlinks">
1063 </div>
1064 <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
1065 <table class="jd-sumtable-expando">
1066
1067
1068
1069
1070 <tr class="alt-color api apilevel-" >
1071 <td class="jd-typecol"><nobr>
1072
1073
1074
1075
1076
1077 Object</nobr>
1078 </td>
1079 <td class="jd-linkcol" width="100%"><nobr>
1080 <span class="sympad">clone</span>()</nobr>
1081
1082 </td></tr>
1083
1084
1085
1086 <tr class=" api apilevel-" >
1087 <td class="jd-typecol"><nobr>
1088
1089
1090
1091
1092
1093 boolean</nobr>
1094 </td>
1095 <td class="jd-linkcol" width="100%"><nobr>
1096 <span class="sympad">equals</span>(Object arg0)</nobr>
1097
1098 </td></tr>
1099
1100
1101
1102 <tr class="alt-color api apilevel-" >
1103 <td class="jd-typecol"><nobr>
1104
1105
1106
1107
1108
1109 void</nobr>
1110 </td>
1111 <td class="jd-linkcol" width="100%"><nobr>
1112 <span class="sympad">finalize</span>()</nobr>
1113
1114 </td></tr>
1115
1116
1117
1118 <tr class=" api apilevel-" >
1119 <td class="jd-typecol"><nobr>
1120
1121
1122 final
1123
1124
1125 Class&lt;?&gt;</nobr>
1126 </td>
1127 <td class="jd-linkcol" width="100%"><nobr>
1128 <span class="sympad">getClass</span>()</nobr>
1129
1130 </td></tr>
1131
1132
1133
1134 <tr class="alt-color api apilevel-" >
1135 <td class="jd-typecol"><nobr>
1136
1137
1138
1139
1140
1141 int</nobr>
1142 </td>
1143 <td class="jd-linkcol" width="100%"><nobr>
1144 <span class="sympad">hashCode</span>()</nobr>
1145
1146 </td></tr>
1147
1148
1149
1150 <tr class=" api apilevel-" >
1151 <td class="jd-typecol"><nobr>
1152
1153
1154 final
1155
1156
1157 void</nobr>
1158 </td>
1159 <td class="jd-linkcol" width="100%"><nobr>
1160 <span class="sympad">notify</span>()</nobr>
1161
1162 </td></tr>
1163
1164
1165
1166 <tr class="alt-color api apilevel-" >
1167 <td class="jd-typecol"><nobr>
1168
1169
1170 final
1171
1172
1173 void</nobr>
1174 </td>
1175 <td class="jd-linkcol" width="100%"><nobr>
1176 <span class="sympad">notifyAll</span>()</nobr>
1177
1178 </td></tr>
1179
1180
1181
1182 <tr class=" api apilevel-" >
1183 <td class="jd-typecol"><nobr>
1184
1185
1186
1187
1188
1189 String</nobr>
1190 </td>
1191 <td class="jd-linkcol" width="100%"><nobr>
1192 <span class="sympad">toString</span>()</nobr>
1193
1194 </td></tr>
1195
1196
1197
1198 <tr class="alt-color api apilevel-" >
1199 <td class="jd-typecol"><nobr>
1200
1201
1202 final
1203
1204
1205 void</nobr>
1206 </td>
1207 <td class="jd-linkcol" width="100%"><nobr>
1208 <span class="sympad">wait</span>()</nobr>
1209
1210 </td></tr>
1211
1212
1213
1214 <tr class=" api apilevel-" >
1215 <td class="jd-typecol"><nobr>
1216
1217
1218 final
1219
1220
1221 void</nobr>
1222 </td>
1223 <td class="jd-linkcol" width="100%"><nobr>
1224 <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
1225
1226 </td></tr>
1227
1228
1229
1230 <tr class="alt-color api apilevel-" >
1231 <td class="jd-typecol"><nobr>
1232
1233
1234 final
1235
1236
1237 void</nobr>
1238 </td>
1239 <td class="jd-linkcol" width="100%"><nobr>
1240 <span class="sympad">wait</span>(long arg0)</nobr>
1241
1242 </td></tr>
1243
1244
1245</table>
1246 </div>
1247</div>
1248</td></tr>
1249
1250
1251
1252<tr class="api apilevel-" >
1253<td colspan="12">
1254 <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-org.junit.rules.TestRule" class="jd-expando-trigger closed"
1255 ><img id="inherited-methods-org.junit.rules.TestRule-trigger"
1256 src="../../../../../assets/images/triangle-closed.png"
1257 class="jd-expando-trigger-img" /></a>
1258From interface
1259
1260 org.junit.rules.TestRule
1261
1262<div id="inherited-methods-org.junit.rules.TestRule">
1263 <div id="inherited-methods-org.junit.rules.TestRule-list"
1264 class="jd-inheritedlinks">
1265 </div>
1266 <div id="inherited-methods-org.junit.rules.TestRule-summary" style="display: none;">
1267 <table class="jd-sumtable-expando">
1268
1269
1270
1271
1272 <tr class="alt-color api apilevel-" >
1273 <td class="jd-typecol"><nobr>
1274 abstract
1275
1276
1277
1278
1279 Statement</nobr>
1280 </td>
1281 <td class="jd-linkcol" width="100%"><nobr>
1282 <span class="sympad">apply</span>(Statement arg0, Description arg1)</nobr>
1283
1284 </td></tr>
1285
1286
1287</table>
1288 </div>
1289</div>
1290</td></tr>
1291
1292
1293</table>
1294
1295
1296</div><!-- jd-descr (summary) -->
1297
1298<!-- Details -->
1299
1300
1301
1302
1303
1304
1305
1306
1307<!-- XML Attributes -->
1308
1309
1310<!-- Enum Values -->
1311
1312
1313<!-- Constants -->
1314
1315
1316<!-- Fields -->
1317
1318
1319<!-- Public ctors -->
1320
1321
1322<!-- ========= CONSTRUCTOR DETAIL ======== -->
1323<h2>Public Constructors</h2>
1324
1325
1326
1327<A NAME="ServiceTestRule()"></A>
1328
1329<div class="jd-details api apilevel-">
1330 <h4 class="jd-details-title">
1331 <span class="normal">
1332 public
1333
1334
1335
1336
1337
1338 </span>
1339 <span class="sympad">ServiceTestRule</span>
1340 <span class="normal">()</span>
1341 </h4>
1342 <div class="api-level">
1343 <div></div>
1344
1345
1346
1347 </div>
1348 <div class="jd-details-descr">
1349
1350
1351
1352
1353 <div class="jd-tagdata jd-tagdescr"><p>Creates a <code><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html">ServiceTestRule</a></code> with a default timeout of <code><a href="../../../../../">.DEFAULT_TIMEOUT</a></code> seconds
1354</p></div>
1355
1356 </div>
1357</div>
1358
1359
1360
1361
1362
1363<!-- ========= CONSTRUCTOR DETAIL ======== -->
1364<!-- Protected ctors -->
1365
1366
1367
1368<!-- ========= METHOD DETAIL ======== -->
1369<!-- Public methdos -->
1370
1371<h2>Public Methods</h2>
1372
1373
1374
1375<A NAME="apply(org.junit.runners.model.Statement, org.junit.runner.Description)"></A>
1376
1377<div class="jd-details api apilevel-">
1378 <h4 class="jd-details-title">
1379 <span class="normal">
1380 public
1381
1382
1383
1384
1385 Statement
1386 </span>
1387 <span class="sympad">apply</span>
1388 <span class="normal">(Statement base, Description description)</span>
1389 </h4>
1390 <div class="api-level">
1391 <div></div>
1392
1393
1394
1395 </div>
1396 <div class="jd-details-descr">
1397
1398
1399
1400
1401 <div class="jd-tagdata jd-tagdescr"><p></p></div>
1402
1403 </div>
1404</div>
1405
1406
1407<A NAME="bindService(android.content.Intent, android.content.ServiceConnection, int)"></A>
1408
1409<div class="jd-details api apilevel-">
1410 <h4 class="jd-details-title">
1411 <span class="normal">
1412 public
1413
1414
1415
1416
1417 IBinder
1418 </span>
1419 <span class="sympad">bindService</span>
1420 <span class="normal">(Intent intent, ServiceConnection connection, int flags)</span>
1421 </h4>
1422 <div class="api-level">
1423 <div></div>
1424
1425
1426
1427 </div>
1428 <div class="jd-details-descr">
1429
1430
1431
1432
1433 <div class="jd-tagdata jd-tagdescr"><p>Starts the service under test, in the same way as if it were started by
1434 <code><a href="../../../../../reference/android/content/Context.html#bindService(android.content.Intent, android.content.ServiceConnection, int)">Context.bindService(Intent, ServiceConnection, flags)</a></code> with an
1435 <code><a href="../../../../../reference/android/content/Intent.html">Intent</a></code> that identifies a service. However, it waits for
1436 <code><a href="../../../../../reference/android/content/ServiceConnection.html#onServiceConnected(android.content.ComponentName, android.os.IBinder)">onServiceConnected(android.content.ComponentName, android.os.IBinder)</a></code> to be called before returning.</p></div>
1437 <div class="jd-tagdata">
1438 <h5 class="jd-tagtitle">Parameters</h5>
1439 <table class="jd-tagtable">
1440 <tr>
1441 <th>intent</td>
1442 <td>Identifies the service to connect to. The Intent may
1443 specify either an explicit component name, or a logical
1444 description (action, category, etc) to match an
1445 <code><a href="../../../../../reference/android/content/IntentFilter.html">IntentFilter</a></code> published by a service.</td>
1446 </tr>
1447 <tr>
1448 <th>connection</td>
1449 <td>Receives information as the service is started and stopped.
1450 This must be a valid ServiceConnection object; it must not be null.</td>
1451 </tr>
1452 <tr>
1453 <th>flags</td>
1454 <td>Operation options for the binding. May be 0,
1455 <code><a href="../../../../../reference/android/content/Context.html#BIND_AUTO_CREATE">BIND_AUTO_CREATE</a></code>,
1456 <code><a href="../../../../../reference/android/content/Context.html#BIND_DEBUG_UNBIND">BIND_DEBUG_UNBIND</a></code>,
1457 <code><a href="../../../../../reference/android/content/Context.html#BIND_NOT_FOREGROUND">BIND_NOT_FOREGROUND</a></code>,
1458 <code><a href="../../../../../reference/android/content/Context.html#BIND_ABOVE_CLIENT">BIND_ABOVE_CLIENT</a></code>,
1459 <code><a href="../../../../../reference/android/content/Context.html#BIND_ALLOW_OOM_MANAGEMENT">BIND_ALLOW_OOM_MANAGEMENT</a></code>, or
1460 <code><a href="../../../../../reference/android/content/Context.html#BIND_WAIVE_PRIORITY">BIND_WAIVE_PRIORITY</a></code>.</td>
1461 </tr>
1462 </table>
1463 </div>
1464 <div class="jd-tagdata">
1465 <h5 class="jd-tagtitle">Returns</h5>
1466 <ul class="nolist"><li>An object whose type is a subclass of IBinder, for making further calls into
1467 the service.</li></ul>
1468 </div>
1469 <div class="jd-tagdata">
1470 <h5 class="jd-tagtitle">Throws</h5>
1471 <table class="jd-tagtable">
1472 <tr>
1473 <th>SecurityException</td>
1474 <td>if the called doesn't have permission to bind to the given service.</td>
1475 </tr>
1476 <tr>
1477 <th>TimeoutException</td>
1478 <td>if timed out waiting for a successful connection with the service.</td>
1479 </tr>
1480 </table>
1481 </div>
1482 <div class="jd-tagdata">
1483 <h5 class="jd-tagtitle">See Also</h5>
1484 <ul class="nolist"><li><code><a href="../../../../../reference/android/content/Context.html#BIND_AUTO_CREATE">BIND_AUTO_CREATE</a></code></li><li><code><a href="../../../../../reference/android/content/Context.html#BIND_DEBUG_UNBIND">BIND_DEBUG_UNBIND</a></code></li><li><code><a href="../../../../../reference/android/content/Context.html#BIND_NOT_FOREGROUND">BIND_NOT_FOREGROUND</a></code></li>
1485 </ul>
1486 </div>
1487
1488 </div>
1489</div>
1490
1491
1492<A NAME="bindService(android.content.Intent)"></A>
1493
1494<div class="jd-details api apilevel-">
1495 <h4 class="jd-details-title">
1496 <span class="normal">
1497 public
1498
1499
1500
1501
1502 IBinder
1503 </span>
1504 <span class="sympad">bindService</span>
1505 <span class="normal">(Intent intent)</span>
1506 </h4>
1507 <div class="api-level">
1508 <div></div>
1509
1510
1511
1512 </div>
1513 <div class="jd-details-descr">
1514
1515
1516
1517
1518 <div class="jd-tagdata jd-tagdescr"><p>Works just like
1519 <code><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html#bindService(android.content.Intent, android.content.ServiceConnection, int)">bindService(android.content.Intent, android.content.ServiceConnection, int)</a></code> except
1520 uses an internal <code><a href="../../../../../reference/android/content/ServiceConnection.html">ServiceConnection</a></code> to guarantee successful bound.
1521 The operation option flag defaults to <code><a href="../../../../../reference/android/content/Context.html#BIND_AUTO_CREATE">BIND_AUTO_CREATE</a></code></p></div>
1522 <div class="jd-tagdata">
1523 <h5 class="jd-tagtitle">Throws</h5>
1524 <table class="jd-tagtable">
1525 <tr>
1526 <th>TimeoutException</td>
1527 <td></td>
1528 </tr>
1529 </table>
1530 </div>
1531 <div class="jd-tagdata">
1532 <h5 class="jd-tagtitle">See Also</h5>
1533 <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html#bindService(android.content.Intent, android.content.ServiceConnection, int)">bindService(android.content.Intent, android.content.ServiceConnection, int)</a></code></li>
1534 </ul>
1535 </div>
1536
1537 </div>
1538</div>
1539
1540
1541<A NAME="startService(android.content.Intent)"></A>
1542
1543<div class="jd-details api apilevel-">
1544 <h4 class="jd-details-title">
1545 <span class="normal">
1546 public
1547
1548
1549
1550
1551 void
1552 </span>
1553 <span class="sympad">startService</span>
1554 <span class="normal">(Intent intent)</span>
1555 </h4>
1556 <div class="api-level">
1557 <div></div>
1558
1559
1560
1561 </div>
1562 <div class="jd-details-descr">
1563
1564
1565
1566
1567 <div class="jd-tagdata jd-tagdescr"><p>Starts the service under test and blocks until the service is connected, in the same way as
1568 if it were started by <code><a href="../../../../../reference/android/content/Context.html#startService(android.content.Intent)">Context.startService(Intent)</a></code> with an <code><a href="../../../../../reference/android/content/Intent.html">Intent</a></code> that identifies a
1569 service. If you use this method to start the service, it is automatically stopped at the
1570 end of the test run. However, it also binds to the service and waits for
1571 <code><a href="../../../../../reference/android/content/ServiceConnection.html#onServiceConnected(android.content.ComponentName, android.os.IBinder)">onServiceConnected(android.content.ComponentName, android.os.IBinder)</a></code> to be called to ensure successful connection.</p></div>
1572 <div class="jd-tagdata">
1573 <h5 class="jd-tagtitle">Parameters</h5>
1574 <table class="jd-tagtable">
1575 <tr>
1576 <th>intent</td>
1577 <td>An Intent that identifies a service, of the same form as the Intent passed to
1578 <code><a href="../../../../../reference/android/content/Context.html#startService(android.content.Intent)">Context.startService
1579 (Intent)</a></code>.</td>
1580 </tr>
1581 </table>
1582 </div>
1583 <div class="jd-tagdata">
1584 <h5 class="jd-tagtitle">Throws</h5>
1585 <table class="jd-tagtable">
1586 <tr>
1587 <th>SecurityException</td>
1588 <td>if you do not have permission to bind to the given service.</td>
1589 </tr>
1590 <tr>
1591 <th>TimeoutException</td>
1592 <td>if timed out waiting for a successful connection with the service.
1593</td>
1594 </tr>
1595 </table>
1596 </div>
1597
1598 </div>
1599</div>
1600
1601
1602<A NAME="withTimeout(long, java.util.concurrent.TimeUnit)"></A>
1603
1604<div class="jd-details api apilevel-">
1605 <h4 class="jd-details-title">
1606 <span class="normal">
1607 public
1608 static
1609
1610
1611
1612 <a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html">ServiceTestRule</a>
1613 </span>
1614 <span class="sympad">withTimeout</span>
1615 <span class="normal">(long timeout, TimeUnit timeUnit)</span>
1616 </h4>
1617 <div class="api-level">
1618 <div></div>
1619
1620
1621
1622 </div>
1623 <div class="jd-details-descr">
1624
1625
1626
1627
1628 <div class="jd-tagdata jd-tagdescr"><p>Factory method to create a <code><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html">ServiceTestRule</a></code> with a custom timeout</p></div>
1629 <div class="jd-tagdata">
1630 <h5 class="jd-tagtitle">Parameters</h5>
1631 <table class="jd-tagtable">
1632 <tr>
1633 <th>timeout</td>
1634 <td>the amount of time to wait for a service to connect.</td>
1635 </tr>
1636 <tr>
1637 <th>timeUnit</td>
1638 <td>the time unit representing how the timeout parameter should be interpreted</td>
1639 </tr>
1640 </table>
1641 </div>
1642 <div class="jd-tagdata">
1643 <h5 class="jd-tagtitle">Returns</h5>
1644 <ul class="nolist"><li>a <code><a href="../../../../../reference/android/support/test/rule/ServiceTestRule.html">ServiceTestRule</a></code> with the desired timeout
1645</li></ul>
1646 </div>
1647
1648 </div>
1649</div>
1650
1651
1652
1653
1654
1655<!-- ========= METHOD DETAIL ======== -->
1656
1657<h2>Protected Methods</h2>
1658
1659
1660
1661<A NAME="afterService()"></A>
1662
1663<div class="jd-details api apilevel-">
1664 <h4 class="jd-details-title">
1665 <span class="normal">
1666 protected
1667
1668
1669
1670
1671 void
1672 </span>
1673 <span class="sympad">afterService</span>
1674 <span class="normal">()</span>
1675 </h4>
1676 <div class="api-level">
1677 <div></div>
1678
1679
1680
1681 </div>
1682 <div class="jd-details-descr">
1683
1684
1685
1686
1687 <div class="jd-tagdata jd-tagdescr"><p>Override this method to do your own service specific clean up after the service is shutdown.
1688 The method is called after each test method is executed including any method annotated with
1689 <a href="http://junit.sourceforge.net/javadoc/org/junit/After.html"><code>After</code></a>
1690 and after necessary calls to stop (or unbind) the service under test were called.
1691</p></div>
1692
1693 </div>
1694</div>
1695
1696
1697<A NAME="beforeService()"></A>
1698
1699<div class="jd-details api apilevel-">
1700 <h4 class="jd-details-title">
1701 <span class="normal">
1702 protected
1703
1704
1705
1706
1707 void
1708 </span>
1709 <span class="sympad">beforeService</span>
1710 <span class="normal">()</span>
1711 </h4>
1712 <div class="api-level">
1713 <div></div>
1714
1715
1716
1717 </div>
1718 <div class="jd-details-descr">
1719
1720
1721
1722
1723 <div class="jd-tagdata jd-tagdescr"><p>Override this method to do your own service specific initialization before starting or
1724 binding to the service. The method is called before each test method is executed including
1725 any method annotated with
1726 <a href="http://junit.sourceforge.net/javadoc/org/junit/Before.html"><code>Before</code></a>.
1727 Do not start or bind to a service from here!
1728</p></div>
1729
1730 </div>
1731</div>
1732
1733
1734
1735
1736
1737<!-- ========= END OF CLASS DATA ========= -->
1738<A NAME="navbar_top"></A>
1739
1740<div id="footer" class="wrap" >
1741
1742
1743 <div id="copyright">
1744
1745 Except as noted, this content is licensed under <a
1746 href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
1747 For details and restrictions, see the <a href="../../../../../license.html">
1748 Content License</a>.
1749 </div>
1750 <div id="build_info">
1751
1752 Android &nbsp;r &mdash;
1753<script src="../../../../../timestamp.js" type="text/javascript"></script>
1754<script>document.write(BUILD_TIMESTAMP)</script>
1755
1756 </div>
1757
1758
1759 <div id="footerlinks">
1760
1761 <p>
1762 <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
1763 <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
1764 <a href="../../../../../support.html">Support</a>
1765 </p>
1766 </div>
1767
1768</div> <!-- end footer -->
1769</div> <!-- jd-content -->
1770
1771</div><!-- end doc-content -->
1772
1773</div> <!-- end body-content -->
1774
1775
1776
1777
1778
1779
1780</body>
1781</html>