Home | History | Annotate | Download | only in versions
      1 page.title=Android 5.0 API
      2 excludeFromSuggestions=true
      3 sdk.platform.version=5.0
      4 sdk.platform.apiLevel=21
      5 @jd:body
      6 
      7 
      8 <div id="qv-wrapper">
      9 <div id="qv">
     10 
     11 <h2> <a href="#" onclick="hideNestedItems('#toc44',this);return false;" class="header-toggle"> <span class="more"></span><span class="less" style="display:none"></span></a></h2>
     12 
     13 <ol id="toc44" class="hide-nested">
     14   <li><a href="#ApiLevel"> API </a></li>
     15   <li><a href="#Behaviors"></a>
     16     <ol>
     17       <li><a href="#ART"> Android  (ART) </a></li>
     18       <li><a href="#BehaviorNotifications"></a></li>
     19       <li><a href="#BehaviorMediaControl"> RemoteControlClient</a></li>
     20 <li><a href="#BehaviorGetRecentTasks"> getRecentTasks()</a></li>
     21 <li><a href="#64BitSupport"> Android  (NDK)</a></li>
     22 <li><a href="#BindService"></a></li>
     23 <li><a href="#BehaviorWebView"> WebView</a></li>
     24     </ol>
     25   </li>
     26   <li><a href="#UI"></a>
     27     <ol>
     28       <li><a href="#MaterialDesign">Material Design </a></li>
     29       <li><a href="#Recents"></a></li>
     30       <li><a href="#WebView">WebView </a></li>
     31       <li><a href="#ScreenCapture"></a></li>
     32     </ol>
     33   </li>
     34   <li><a href="#Notifications"></a>
     35     <ol>
     36       <li><a href="#LockscreenNotifications"></a></li>
     37       <li><a href="#NotificationsMetadata"></a></li>
     38     </ol>
     39   </li>
     40   <li><a href="#Graphics"></a>
     41     <ol>
     42       <li><a href="#OpenGLES-3-1"> OpenGL ES 3.1</a></li>
     43       <li><a href="#AndroidExtensionPack">Android </a></li>
     44     </ol>
     45   </li>
     46   <li><a href="#Media"></a>
     47     <ol>
     48       <li><a href="#Camera-v2"> API</a></li>
     49       <li><a href="#AudioPlayback"></a></li>
     50       <li><a href="#MediaPlaybackControl"></a></li>
     51       <li><a href="#MediaBrowsing"></a></li>
     52     </ol>
     53   </li>
     54   <li><a href="#Storage"></a>
     55     <ol>
     56       <li><a href="#DirectorySelection"></a></li>
     57     </ol>
     58   </li>
     59   <li><a href="#Wireless"></a>
     60     <ol>
     61       <li><a href="#Multinetwork"></a></li>
     62       <li><a href="#BluetoothBroadcasting"></a></li>
     63       <li><a href="#NFCEnhancements">NFC </a></li>
     64     </ol>
     65   </li>
     66   <li><a href="#Power">Project Volta</a>
     67     <ol>
     68       <li><a href="#JobScheduler"></a></li>
     69       <li><a href="#PowerMeasurementTools"></a>
     70     </ol>
     71   </li>
     72   <li><a href="#Enterprise">Android </a>
     73     <ol>
     74       <li><a href="#ManagedProvisioning"></a></li>
     75       <li><a href="#DeviceOwner"></a></li>
     76       <li><a href="#ScreenPinning"></a></li>
     77     </ol>
     78   </li>
     79   <li><a href="#System"></a>
     80     <ol>
     81       <li><a href="#AppUsageStatistics"></a></li>
     82     </ol>
     83   </li>
     84   <li><a href="#Printing"></a>
     85     <ol>
     86       <li><a href="#PDFRender"> PDF </a></li>
     87     </ol>
     88   </li>
     89   <li><a href="#TestingA11y"></a>
     90     <ol>
     91       <li><a href="#TestingA11yImprovements"></a></li>
     92     </ol>
     93   </li>
     94   <li><a href="#IME">IME</a>
     95     <ol>
     96       <li><a href="#Switching"></a></li>
     97     </ol>
     98   </li>
     99   <li><a href="#Manifest"></a>
    100     <ol>
    101       <li><a href="#ManifestFeatures"></a></li>
    102       <li><a href="#Permissions"></a></li>
    103     </ol>
    104   </li>
    105 </ol>
    106 
    107 <h2>API Differences</h2>
    108 <ol>
    109 <li><a href="{@docRoot}sdk/api_diff/21/changes.html">API level 20 to 21 &raquo;</a> </li>
    110 <li><a href="{@docRoot}sdk/api_diff/preview-21/changes.html">L Developer Preview to 21 &raquo;</a> </li>
    111 </ol>
    112 
    113 <h2>See Also</h2>
    114 <ol>
    115 <li><a href="{@docRoot}about/versions/android-5.0-changes.html">Android 5.0 Behavior Changes</a> </li>
    116 <li><a href="{@docRoot}about/versions/lollipop.html">Android Lollipop Highlights</a> </li>
    117 </ol>
    118 
    119 </div>
    120 </div>
    121 
    122 <p>API {@sdkPlatformApiLevel}</p>
    123 
    124 <p>Android 5.0 (<a href="{@docRoot}reference/android/os/Build.VERSION_CODES.html#LOLLIPOP">LOLLIPOP</a>)  API</p>
    125 
    126 <p> <a href="{@docRoot}about/versions/lollipop.html">Android Lollipop </a></p>
    127 
    128 
    129 <h3 id="Start"></h3>
    130 
    131 <p> Android 5.0 <a href="{@docRoot}sdk/index.html"> Android SDK</a> <a href="{@docRoot}tools/help/sdk-manager.html">SDK </a> Android 5.0 SDK </p>
    132 
    133 
    134 
    135 <h3 id="ApiLevel"> API </h3>
    136 
    137 <p> Android {@sdkPlatformVersion}  <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code targetSdkVersion}</a>  <code>"{@sdkPlatformApiLevel}"</code> Android {@sdkPlatformVersion} </p>
    138 
    139 <p> {@sdkPlatformVersion} API API  <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a>  API<a href="{@docRoot}training/basics/supporting-devices/platforms.html"></a></p>
    140 
    141 <p> API <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels"> API </a></p>
    142 
    143 <h2 id="Behaviors"></h2>
    144 
    145 <p> Android  Android 5.0 </p>
    146 
    147 <h3 id="ART"> Android  (ART) </h3>
    148 
    149 <p> 4.4  Android  (ART) 4.4 ART  Dalvik Android 5.0 ART</p>
    150 
    151 <p> ART  <a href="https://source.android.com/devices/tech/dalvik/art.html">ART </a></p>
    152 
    153 <ul>
    154   <li> (AOT) </li>
    155   <li> (GC)</li>
    156   <li></li>
    157 </ul>
    158 
    159 <p> Android  ART Dalvik  ART <a href="{@docRoot}guide/practices/verifying-apps-art.html"> Android  (ART) </a></p>
    160 
    161 <ul>
    162   <li> Java  (JNI)  C/C++ </li>
    163   <li></li>
    164   <li> ART  Android </li>
    165 </ul>
    166 
    167 <h3 id="BehaviorNotifications"></h3>
    168 
    169 <p> Android 5.0  Android 5.0 <a href="{@docRoot}design/patterns/notifications.html"></a>
    170 </p>
    171 
    172 <h4 id="NotificationsMaterialDesignStyle">Material Design </h4>
    173 <p> Material Design </p>
    174 
    175 <ul>
    176   <li> {@link android.app.Notification.Builder#setColor(int) setColor()}  </li>
    177   <li> Alpha  Alpha </li>
    178 </ul>
    179 
    180 <h4 id="NotificationsSoundVibration"></h4>
    181 <p> {@link android.media.Ringtone}{@link android.media.MediaPlayer}  {@link android.os.Vibrator} <em></em> {@link android.app.Notification.Builder} </p>
    182 
    183 <p> {@link android.media.AudioManager#RINGER_MODE_SILENT RINGER_MODE_SILENT}  {@link android.media.AudioManager#RINGER_MODE_NORMAL RINGER_MODE_NORMAL}  {@link android.media.AudioManager#RINGER_MODE_NORMAL RINGER_MODE_VIBRATE}</p>
    184 
    185 <p>Android  {@link android.media.AudioManager#STREAM_MUSIC STREAM_MUSIC}  Android 5.0  {@link android.media.AudioManager#STREAM_RING STREAM_RING}  {@link android.media.AudioManager#STREAM_NOTIFICATION STREAM_NOTIFICATION} </p>
    186 
    187 <h4 id="NotificationsLockscreenVisibility"></h4>
    188 <p> Android 5.0  {@link android.app.Notification.Builder#setPublicVersion(android.app.Notification) setPublicVersion()}</p>
    189 <p> {@link android.app.Notification.Builder#setVisibility(int) setVisibility()}  {@link android.app.Notification#VISIBILITY_PUBLIC VISIBILITY_PUBLIC}
    190 </p>
    191 
    192 <h4 id="NotificationsMediaPlayback"></h4>
    193 <p> {@link android.app.Notification.MediaStyle}  {@link android.widget.RemoteViews.RemoteView}  {@link android.app.Notification#VISIBILITY_PUBLIC VISIBILITY_PUBLIC} Android 5.0  {@link android.media.RemoteControlClient} <a href="#BehaviorMediaControl"> RemoteControlClient</a></p>
    194 
    195 <h4 id="NotificationsHeadsup"></h4>
    196 <p></p>
    197 
    198 <p></p>
    199 
    200 <ul>
    201   <li> {@link android.app.Notification#fullScreenIntent}</li>
    202   <li></li>
    203 </ul>
    204 
    205 <p></p>
    206 
    207 <h3 id="BehaviorMediaControl"> RemoteControlClient</h3>
    208 <p>{@link android.media.RemoteControlClient}  {@link android.media.session.MediaSession} API</p>
    209 
    210 <p> {@link android.media.session.MediaSession}  {@link android.media.RemoteControlClient}Android 5.0 </p>
    211 
    212 <p>Android 5.0  {@link android.app.Notification.MediaStyle} {@link android.app.Notification.MediaStyle}  {@link android.app.Notification.Builder#addAction(int, java.lang.CharSequence, android.app.PendingIntent) Notification.Builder.addAction()}  {@link android.app.Notification.MediaStyle#setMediaSession(android.media.session.MediaSession.Token) setSession()} </p>
    213 
    214 <p> {@link android.app.Notification#VISIBILITY_PUBLIC VISIBILITY_PUBLIC}<a href="#LockscreenNotifications"></a></p>
    215 
    216 <p> Android <a href="{@docRoot}tv/index.html">TV</a>  <a href="{@docRoot}wear/index.html">Wear</a>  {@link android.media.session.MediaSession}  Android  {@link android.media.session.MediaSession}</p>
    217 
    218 <h3 id="BehaviorGetRecentTasks"> getRecentTasks()</h3>
    219 
    220 <p><em></em> Android 5.0 <a href="#Recents"></a>{@link android.app.ActivityManager#getRecentTasks ActivityManager.getRecentTasks()}  {@link android.app.ActivityManager#getAppTasks() getAppTasks()} </p>
    221 
    222 <h3 id="64BitSupport"> Android  (NDK)</h3>
    223 
    224 <p>Android 5.0  64 64  32 64  OpenSSL  NDK API  OpenGL ES (GLES) 3.1 </p>
    225 
    226 <p> Android 5.0  64  <a href="{@docRoot}tools/sdk/ndk/index.html">Android NDK </a> NDK 10c  NDK  10c <a href="{@docRoot}tools/sdk/ndk/index.html#Revisions"></a></p>
    227 
    228 <h3 id="BindService"></h3>
    229 
    230 <p>{@link android.content.Context#bindService(android.content.Intent, android.content.ServiceConnection, int) Context.bindService()}  {@link android.content.Intent} intent {@link android.app.Service}  intent intent </p>
    231 
    232 <h3 id="BehaviorWebView"> WebView</h3>
    233 
    234 <p>Android 5.0 </p>
    235 <ul>
    236 <li><strong> API  21</strong>
    237   <ul>
    238     <li><a href="https://developer.mozilla.org/en-US/docs/Security/MixedContent" class="external-link"></a> Cookie Cookie {@link android.webkit.WebSettings#setMixedContentMode(int) setMixedContentMode()}  {@link android.webkit.CookieManager#setAcceptThirdPartyCookies(android.webkit.WebView, boolean) setAcceptThirdPartyCookies()} </li>
    239     <li> HTML  {@link android.webkit.WebView#enableSlowWholeDocumentDraw()} </li>
    240   </ul>
    241 </li>
    242 <li><strong> API  21</strong> Cookie</li>
    243 </ul>
    244 
    245 <h2 id="UI"></h2>
    246 
    247 <h3 id="MaterialDesign">Material Design </h3>
    248 
    249 <p><em></em> Android  Material Design  Material Design </p>
    250 
    251 <ul>
    252 
    253   <li></li>
    254   <li></li>
    255   <li>{@link android.support.v7.widget.RecyclerView} </li>
    256   <li></li>
    257   <li>Material Design </li>
    258   <li></li>
    259   <li></li>
    260   <li> XML </li>
    261 </ul>
    262 
    263 <p> Material Design  <a href="{@docRoot}training/material/index.html">Material Design </a></p>
    264 
    265 <h3 id="Recents"></h3>
    266 
    267 <p><a href="{@docRoot}guide/components/recents.html"></a> {@link android.app.ActivityManager.AppTask} </p>
    268 
    269 <p> {@link android.app.Activity#startActivity(android.content.Intent) startActivity()}  {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT} <a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a>  {@code documentLaunchMode}  {@code "intoExisting"}  {@code "always"}</p>
    270 
    271 <p> <a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a>  {@link android.R.attr#maxRecents android:maxRecents}  50  RAM  25 </a></p>
    272 
    273 <p> <a href="{@docRoot}reference/android/R.attr.html#persistableMode">android:persistableMode</a>  {@link android.app.Activity#setTaskDescription(android.app.ActivityManager.TaskDescription) setTaskDescription()} </p>
    274 
    275 <h3 id="WebView">WebView </h3>
    276 <p>Android 5.0  {@link android.webkit.WebView}   Chromium M37Android 5.0  {@link android.webkit.WebView}  37.0.0.0 </p>
    277 
    278 <p> {@link android.webkit.PermissionRequest}  <a href="https://developer.mozilla.org/en-US/docs/NavigatorUserMedia.getUserMedia" class="external-link">getUserMedia()</a>  Web API  {@link android.webkit.WebView}  Android  {@link android.webkit.WebView} </p>
    279 
    280 <p> <code><a href="{@docRoot}reference/android/webkit/WebChromeClient.html#onShowFileChooser(android.webkit.WebView, android.webkit.ValueCallback<android.net.Uri[]>, android.webkit.WebChromeClient.FileChooserParams)">onShowFileChooser()</a></code>  {@link android.webkit.WebView}  Android </p>
    281 
    282 <p> <a href="http://webaudio.github.io/web-audio-api/" class="external-link">WebAudio</a><a href="https://www.khronos.org/webgl/" class="external-link">WebGL</a>  <a href="http://www.webrtc.org/" class="external-link">WebRTC</a>  <a href="https://developer.chrome.com/multidevice/webview/overview" class="external-link">Android  WebView</a></p>
    283 
    284 <h3 id="ScreenCapture"></h3>
    285 <p> Android 5.0 {@link android.media.projection} API </p>
    286 
    287 <p> {@link android.media.projection.MediaProjection#createVirtualDisplay(java.lang.String, int, int, int, int, android.view.Surface, android.hardware.display.VirtualDisplay.Callback, android.os.Handler) createVirtualDisplay()}  {@link android.view.Surface}  API  {@link android.media.projection.MediaProjectionManager#createScreenCaptureIntent()}  {@link android.content.Intent} </p>
    288 
    289 <p> API  {@code MediaProjectionDemo} </p>
    290 
    291 <h2 id="Notifications"></h2>
    292 
    293 <h3 id="LockscreenNotifications"></h3>
    294 <p>Android 5.0 <em></em></p>
    295 
    296 <p> {@link android.app.Notification.Builder#setVisibility(int) setVisibility()} </p>
    297 
    298 <ul>
    299 <li>{@link android.app.Notification#VISIBILITY_PRIVATE VISIBILITY_PRIVATE}</li>
    300 <li>{@link android.app.Notification#VISIBILITY_PUBLIC VISIBILITY_PUBLIC}</li>
    301 <li>{@link android.app.Notification#VISIBILITY_SECRET VISIBILITY_SECRET}</li>
    302 </ul>
    303 
    304 <p> {@link android.app.Notification#VISIBILITY_PRIVATE VISIBILITY_PRIVATE} 3  {@link android.app.Notification.Builder}  {@link android.app.Notification.Builder#setPublicVersion(android.app.Notification) setPublicVersion()} </p>
    305 
    306 <h3 id="NotificationsMetadata"></h3>
    307 <p>Android 5.0  {@link android.app.Notification.Builder} </p>
    308 
    309 <ul>
    310 <li>{@link android.app.Notification.Builder#setCategory(java.lang.String) setCategory()}<em></em>
    311 <li>{@link android.app.Notification.Builder#setPriority(int) setPriority()} {@link android.app.Notification#PRIORITY_MAX PRIORITY_MAX}  {@link android.app.Notification#PRIORITY_HIGH PRIORITY_HIGH} </li>
    312 <li>{@link android.app.Notification.Builder#addPerson(java.lang.String) addPerson()}</li>
    313 </ul>
    314 
    315 <h2 id="Graphics"></h2>
    316 
    317 <h3 id="OpenGLES-3-1"> OpenGL ES 3.1</h3>
    318 <p>Android 5.0  OpenGL ES 3.1  Java OpenGL ES 3.1 </p>
    319 
    320 <ul>
    321 <li>
    322 <li>
    323 <li>
    324 <li>
    325 <li>
    326 <li>
    327 <li> OpenGL ES 2.0  3.0 
    328 </ul>
    329 
    330 <p>Android  OpenGL ES 3.1  Java  {@link android.opengl.GLES31}  OpenGL ES 3.1  <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>}</a>  {@code android:glEsVersion} </p>
    331 
    332 <pre>
    333 &lt;manifest&gt;
    334     &lt;uses-feature android:glEsVersion="0x00030001" /&gt;
    335     ...
    336 &lt;/manifest&gt;
    337 </pre>
    338 
    339 <p> OpenGL ES  OpenGL ES  <a href="{@docRoot}guide/topics/graphics/opengl.html">OpenGL ES API </a></p>
    340 
    341 <h3 id="AndroidExtensionPack">Android </h3>
    342 
    343 <p> OpenGL ES 3.1  Java Android  {@code ANDROID_extension_pack_es31a}  {@code #extension} </p>
    344 
    345 <p></p>
    346 
    347 <ul>
    348 <li> OpenGL ES 3.1 </li>
    349 <li></li>
    350 <li>ASTC (LDR) </li>
    351 <li></li>
    352 <li></li>
    353 </ul>
    354 
    355 <p> Java  {@link android.opengl.GLES31Ext} </p>
    356 
    357 <pre>
    358 &lt;manifest&gt;
    359     &lt;uses-feature android:name=android.hardware.opengles.aep
    360         android:required="true" /&gt;
    361     ...
    362 &lt;/manifest&gt;
    363 </pre>
    364 
    365 <h2 id="Media"></h2>
    366 
    367 <h3 id="Camera-v2"> API</h3>
    368 
    369 <p>Android 5.0  <a href="{@docRoot}reference/android/hardware/camera2/package-summary.html">android.hardware.camera2</a> API  {@link android.hardware.camera2.CameraManager#getCameraIdList() getCameraIdList()}  {@link android.hardware.camera2.CameraManager#openCamera(java.lang.String, android.hardware.camera2.CameraDevice.StateCallback, android.os.Handler) openCamera()}  {@link android.hardware.camera2.CameraCaptureSession}  {@link android.view.Surface}  {@link android.hardware.camera2.CameraCaptureSession} </p>
    370 
    371 <p> {@link android.hardware.camera2.CameraCaptureSession.CaptureCallback}  {@link android.hardware.camera2.CameraCaptureSession.CaptureCallback}  {@link android.hardware.camera2.CameraCaptureSession.CaptureCallback#onCaptureCompleted(android.hardware.camera2.CameraCaptureSession, android.hardware.camera2.CaptureRequest, android.hardware.camera2.TotalCaptureResult) onCaptureCompleted()}  {@link android.hardware.camera2.CaptureResult} </p>
    372 
    373 <p>{@link android.hardware.camera2.CameraCharacteristics}  {@link android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL INFO_SUPPORTED_HARDWARE_LEVEL} </p>
    374 
    375 <ul>
    376   <li> {@link android.hardware.camera2.CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY}  {@link android.hardware.Camera} API </li>
    377   <li> {@link android.hardware.camera2.CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL INFO_SUPPORTED_HARDWARE_LEVEL_FULL} </li>
    378 </ul>
    379 
    380 <p><a href="{@docRoot}reference/android/hardware/camera2/package-summary.html"></a> API {@code Camera2Basic}  {@code Camera2Video} </p>
    381 
    382 <h3 id="AudioPlayback"></h3>
    383 <p> {@link android.media.AudioTrack} </p>
    384 <ul>
    385   <li> ({@link android.media.AudioFormat#ENCODING_PCM_FLOAT ENCODING_PCM_FLOAT})  Android 5.0 
    386   <li> {@link java.nio.ByteBuffer} {@link android.media.MediaCodec} 
    387   <li>{@link android.media.AudioTrack#WRITE_NON_BLOCKING WRITE_NON_BLOCKING} 
    388 </ul>
    389 
    390 <h3 id="MediaPlaybackControl"></h3>
    391 <p> API {@link android.media.session.MediaSession}  {@link android.media.session.MediaController} </p>
    392 
    393 <p> {@link android.media.session.MediaSession}  {@link android.media.RemoteControlClient}  Android <a href="{@docRoot}tv/index.html">TV</a>  <a href="{@docRoot}wear/index.html">Wear</a>  {@link android.media.session.MediaSession} </p>
    394 
    395 <p> {@link android.media.session.MediaController}  {@link android.media.session.MediaSession.Token}  {@link android.media.session.MediaSession}  {@link android.media.session.MediaController.TransportControls}  {@link android.media.session.MediaController.TransportControls#play() play()}{@link android.media.session.MediaController.TransportControls#stop() stop()}{@link android.media.session.MediaController.TransportControls#skipToNext() skipToNext()}  {@link android.media.session.MediaController.TransportControls#setRating(android.media.Rating) setRating()}  {@link android.media.session.MediaController.Callback} </p>
    396 
    397 <p> {@link android.app.Notification.MediaStyle} </p>
    398 
    399 <h3 id="MediaBrowsing"></h3>
    400 <p>Android 5.0  <a href="{@docRoot}reference/android/media/browse/package-summary.html">android.media.browse</a> API  {@link android.service.media.MediaBrowserService}  {@link android.service.media.MediaBrowserService}  {@link android.media.session.MediaSession.Token} </p>
    401 <p> {@link android.media.browse.MediaBrowser}  {@link android.media.browse.MediaBrowser}  {@link android.media.session.MediaSession}  {@link android.media.session.MediaSession.Token} </p>
    402 
    403 <h2 id="Storage"></h2>
    404 
    405 <h3 id="DirectorySelection"></h3>
    406 
    407 <p>Android 5.0 <a href="{@docRoot}guide/topics/providers/document-provider.html"></a>/</p>
    408 
    409 <p> {@link android.content.Intent#ACTION_OPEN_DOCUMENT_TREE OPEN_DOCUMENT_TREE} intent {@link android.provider.DocumentsProvider}  URI  {@link android.provider.DocumentsContract#buildChildDocumentsUriUsingTree(android.net.Uri, java.lang.String) buildChildDocumentsUriUsingTree()}  {@link android.provider.DocumentsContract#buildDocumentUriUsingTree(android.net.Uri, java.lang.String) buildDocumentUriUsingTree()}  {@link android.content.ContentResolver#query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String) query()} </p>
    410 
    411 <p> {@link android.provider.DocumentsContract#createDocument(android.content.ContentResolver, android.net.Uri, java.lang.String, java.lang.String) createDocument()}  {@link android.provider.DocumentsContract#renameDocument(android.content.ContentResolver, android.net.Uri, java.lang.String) renameDocument()}  {@link android.provider.DocumentsProvider#deleteDocument(java.lang.String) deleteDocument()} {@link android.provider.DocumentsContract.Document#COLUMN_FLAGS COLUMN_FLAGS} </p>
    412 
    413 <p> {@link android.provider.DocumentsProvider}  {@link android.provider.DocumentsProvider#isChildDocument(java.lang.String, java.lang.String) isChildDocument()}  {@link android.provider.DocumentsContract.Root#COLUMN_FLAGS COLUMN_FLAGS}  {@link android.provider.DocumentsContract.Root#FLAG_SUPPORTS_IS_CHILD FLAG_SUPPORTS_IS_CHILD}</p>
    414 
    415 <p>Android 5.0  {@link android.provider.MediaStore}  {@link android.content.Context#getExternalMediaDirs()}  {@link android.content.Context#getExternalFilesDir(java.lang.String) getExternalFilesDir()}  {@link android.media.MediaScannerConnection} </p>
    416 
    417 <h2 id="Wireless"></h2>
    418 
    419 <h3 id="Multinetwork"></h3>
    420 <p>Android 5.0  API SUPLMMS </p>
    421 
    422 <p></p>
    423 
    424 <ol>
    425  <li> {@link android.net.ConnectivityManager}</li>
    426  <li> {@link android.net.NetworkRequest.Builder}  {@link android.net.NetworkRequest} </li>
    427 <li> {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback) requestNetwork()}  {@link android.net.ConnectivityManager#registerNetworkCallback(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback) registerNetworkCallback()} {@link android.net.NetworkRequest}  {@link android.net.ConnectivityManager.NetworkCallback}  {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback) requestNetwork()}  {@link android.net.ConnectivityManager#registerNetworkCallback(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback) registerNetworkCallback()} </li>
    428 </ol>
    429 
    430 <p> {@link android.net.ConnectivityManager.NetworkCallback#onAvailable(android.net.Network) onAvailable()}  {@link android.net.Network} </p>
    431 
    432 <h3 id="BluetoothBroadcasting"></h3>
    433 <p>Android 4.3 <a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html"></a><em></em> Android 5.0 Android <em></em></p> 
    434 <p> {@link android.bluetooth.le} API  {@link android.Manifest.permission#BLUETOOTH_ADMIN BLUETOOTH_ADMIN}  Play </p>
    435 
    436 <p> {@link android.bluetooth.le.BluetoothLeAdvertiser#startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback) startAdvertising()}  {@link android.bluetooth.le.AdvertiseCallback} </p>
    437 
    438 <p> Android 5.0  {@link android.bluetooth.le.ScanFilter}  {@link android.bluetooth.le.BluetoothLeScanner#startScan(android.bluetooth.le.ScanCallback) startScan()}  {@link android.bluetooth.le.ScanCallback}  </p>
    439 
    440 <h3 id="NFCEnhancements">NFC </h3>
    441 <p>Android 5.0  NFC </p>
    442 
    443 <ul>
    444 <li><em></em> Android Beam</li>
    445 <li> {@link android.nfc.NfcAdapter#invokeBeam(android.app.Activity) invokeBeam()}  Android Beam  NFC </li>
    446 <li> {@link android.nfc.NdefRecord#createTextRecord(java.lang.String, java.lang.String) createTextRecord()}  UTF-8  NDEF </li>
    447 <li> <code><a href="{@docRoot}reference/android/nfc/cardemulation/CardEmulation.html#registerAidsForService(android.content.ComponentName, java.lang.String, java.util.List<java.lang.String>)">registerAidsForService()</a></code>  NFC  ID (AID) {@link android.nfc.cardemulation.CardEmulation#setPreferredService(android.app.Activity, android.content.ComponentName) setPreferredService()} </li>
    448 </ul>
    449 
    450 <h2 id="Power">Project Volta</h2>
    451 
    452 <p>Android 5.0  API </p>
    453 
    454 <h3 id="JobScheduler"></h3>
    455 <p>Android 5.0  {@link android.app.job.JobScheduler} API</p>
    456 <ul>
    457   <li></li>
    458   <li></li>
    459   <li> Wi-Fi </li>
    460   <li></li>
    461 
    462 </ul>
    463 
    464 <p> {@link android.app.job.JobInfo} </p>
    465 
    466 <p> {@link android.app.job.JobInfo.Builder} </p>
    467 
    468 <ul>
    469   <li></li>
    470   <li></li>
    471   <li></li>
    472   <li></li>
    473 </ul>
    474 
    475 <p></p>
    476 
    477 <pre>
    478 JobInfo uploadTask = new JobInfo.Builder(mJobId,
    479                                          mServiceComponent /* JobService component */)
    480         .setRequiredNetworkCapabilities(JobInfo.NetworkType.UNMETERED)
    481         .build();
    482 JobScheduler jobScheduler =
    483         (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
    484 jobScheduler.schedule(uploadTask);
    485 </pre>
    486 
    487 <p> 2 <a href="{@docRoot}reference/android/content/Intent.html#ACTION_BATTERY_OKAY"></a></p>
    488 
    489 <p> {@link android.app.job.JobScheduler} API  {@code JobSchedulerSample} </p>
    490 
    491 <h3 id="PowerMeasurementTools"></h3>
    492 
    493 <p> {@code dumpsys batterystats}  ID (UID) </p>
    494 
    495 <ul>
    496 <li>
    497 <li>
    498 <li> UID 
    499 <li>
    500 <li> UID 
    501 <li> UID 
    502 </ul>
    503 
    504 <p> {@code --help} 
    505 <pre>
    506 $ adb shell dumpsys batterystats --charged &lt;package-name&gt;
    507 </pre>
    508 
    509 <p> {@code dumpsys}  <a href="https://github.com/google/battery-historian" class="external-link">Battery Historian</a>  HTML </p>
    510 
    511 <h2 id="Enterprise"> Android</h2>
    512 <h3 id="ManagedProvisioning"></h3>
    513 
    514 <p>Android 5.0 <a href="{@docRoot}guide/topics/admin/device-admin.html"></a><em></em></p>
    515 
    516 <p> {@link android.content.Intent}  {@link android.app.admin.DevicePolicyManager#ACTION_PROVISION_MANAGED_PROFILE ACTION_PROVISION_MANAGED_PROFILE} {@link android.app.admin.DeviceAdminReceiver#onProfileProvisioningComplete(android.content.Context, android.content.Intent) onProfileProvisioningComplete()}  {@link android.app.admin.DevicePolicyManager#setProfileEnabled(android.content.ComponentName) setProfileEnabled()} </p>
    517 
    518 <p> {@link android.app.admin.DevicePolicyManager#enableSystemApp(android.content.ComponentName, android.content.Intent) enableSystemApp()} </p>
    519 
    520 <p> {@link android.content.pm.LauncherApps}  {@link android.content.pm.PackageManager#getUserBadgedIcon(android.graphics.drawable.Drawable, android.os.UserHandle) getUserBadgedIcon()}</p>
    521 
    522 <p> {@code BasicManagedProfile} </p>
    523 
    524 <h3 id="DeviceOwner"></h3>
    525 <p>Android 5.0 <em></em><a href="{@docRoot}guide/topics/admin/device-admin.html"></a> {@link android.app.admin.DevicePolicyManager} </p>
    526 
    527 <p> NFC <a href="#ManagedProvisioning"></a> intent </p>
    528 
    529 <h3 id="ScreenPinning"></h3>
    530 
    531 <p>Android 5.0  API Android </p>
    532 
    533 <p></p>
    534 
    535 <ul>
    536 <li><strong></strong>&gt;&gt;<em></em></li> <li><strong></strong> {@link android.app.Activity#startLockTask() startLockTask()} {@link android.app.admin.DevicePolicyManager#setLockTaskPackages(android.content.ComponentName, java.lang.String[]) setLockTaskPackages()} </li>
    537 </ul>
    538 
    539 <p></p>
    540 
    541 <ul>
    542 <li></li>
    543 <li></li>
    544 <li></li>
    545 <li></li>
    546 <li> {@link android.app.Activity#stopLockTask() stopLockTask()}</li>
    547 <li></li>
    548 
    549 </ul>
    550 
    551 <h2 id="Printing"></h2>
    552 
    553 <h3 id="PDFRender"> PDF </h3>
    554 <p> {@link android.graphics.pdf.PdfRenderer}  PDF {@link android.os.ParcelFileDescriptor} {@link android.graphics.pdf.PdfRenderer#openPage(int) openPage()}  {@link android.graphics.pdf.PdfRenderer.Page#render(android.graphics.Bitmap, android.graphics.Rect, android.graphics.Matrix, int) render()}  {@link android.graphics.pdf.PdfRenderer.Page} <a href="http://en.wikipedia.org/wiki/Tiled_rendering" class="external-link"></a></p>
    555 
    556 <p> API  {@code PdfRendererBasic} </p>
    557 
    558 <h2 id="System"></h2>
    559 <h3 id="AppUsageStatistics"></h3>
    560 <p> {@link android.app.usage} API  Android  API  {@link android.app.ActivityManager#getRecentTasks(int, int) getRecentTasks()}  API {@code "android.permission.PACKAGE_USAGE_STATS"} &gt;&gt;<em></em></p>
    561 
    562 <p></p>
    563 
    564 <ul>
    565   <li>7 </li>
    566   <li>4 </li>
    567   <li>6 </li>
    568   <li>2 </li>
    569 </ul>
    570 
    571 <p></p>
    572 <ul>
    573 <li></li>
    574 <li></li>
    575 <li></li>
    576 <li></li>
    577 </ul>
    578 
    579 <h2 id="TestingA11y"> </h2>
    580 
    581 <h3 id="TestingA11yImprovements"></h3>
    582 <p>Android 5.0 </p>
    583 
    584 <ul>
    585 <li> {@link android.app.UiAutomation#getWindowAnimationFrameStats() getWindowAnimationFrameStats()}  {@link android.app.UiAutomation#getWindowContentFrameStats(int) getWindowContentFrameStats()} </li>
    586 
    587 <li> {@link android.app.UiAutomation#executeShellCommand(java.lang.String) executeShellCommand()}  shell  {@code adb shell} shell  {@code dumpsys}{@code am} {@code content}  {@code pm}</li>
    588 
    589 <li> API <a href="{@docRoot}tools/help/uiautomator/index.html">{@code UiAutomator}</a> {@link android.view.accessibility.AccessibilityWindowInfo}  {@link android.accessibilityservice.AccessibilityService#getWindows() getWindows()} </li>
    590 
    591 <li> {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction}  {@link android.view.accessibility.AccessibilityNodeInfo}  {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction}  {@link android.view.accessibility.AccessibilityNodeInfo}  API</li>
    592 
    593 <li>Android 5.0  {@link android.speech.tts.Voice} </li>
    594 </ul>
    595 
    596 <h2 id="IME">IME</h2>
    597 
    598 <h3 id="Switching"></h3>
    599 
    600 <p> Android 5.0 <a href="{@docRoot}guide/topics/text/creating-input-method.html"> (IME)</a>  IME {@link android.view.inputmethod.InputMethodManager#shouldOfferSwitchingToNextInputMethod(android.os.IBinder) shouldOfferSwitchingToNextInputMethod()} </p>
    601 
    602 <p> IME  IME  IME IME  IME {@link android.view.inputmethod.InputMethodManager#switchToNextInputMethod(android.os.IBinder, boolean) switchToNextInputMethod()} 
    603 
    604 <p> IME  API  IME <a href="{@docRoot}guide/topics/text/creating-input-method.html"></a>
    605 </p>
    606 
    607 <h2 id="Manifest"></h2>
    608 
    609 <h3 id="ManifestFeatures"></h3>
    610 <p><a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>}</a> </p>
    611 
    612 <ul>
    613 <li>{@link android.content.pm.PackageManager#FEATURE_AUDIO_OUTPUT}</li>
    614 <li>{@link android.content.pm.PackageManager#FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING}</li>
    615 <li>{@link android.content.pm.PackageManager#FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR}</li>
    616 <li>{@link android.content.pm.PackageManager#FEATURE_CAMERA_CAPABILITY_RAW}</li>
    617 <li>{@link android.content.pm.PackageManager#FEATURE_CAMERA_LEVEL_FULL}</li>
    618 <li>{@link android.content.pm.PackageManager#FEATURE_GAMEPAD}</li>
    619 <li>{@link android.content.pm.PackageManager#FEATURE_LIVE_TV}</li>
    620 <li>{@link android.content.pm.PackageManager#FEATURE_MANAGED_USERS}</li>
    621 <li>{@link android.content.pm.PackageManager#FEATURE_LEANBACK}</li>
    622 <li>{@link android.content.pm.PackageManager#FEATURE_OPENGLES_EXTENSION_PACK}</li>
    623 <li>{@link android.content.pm.PackageManager#FEATURE_SECURELY_REMOVES_USERS}</li>
    624 <li>{@link android.content.pm.PackageManager#FEATURE_SENSOR_AMBIENT_TEMPERATURE}</li>
    625 <li>{@link android.content.pm.PackageManager#FEATURE_SENSOR_HEART_RATE_ECG}</li>
    626 <li>{@link android.content.pm.PackageManager#FEATURE_SENSOR_RELATIVE_HUMIDITY}</li>
    627 <li>{@link android.content.pm.PackageManager#FEATURE_VERIFIED_BOOT}</li>
    628 <li>{@link android.content.pm.PackageManager#FEATURE_WEBVIEW}</li>
    629 </ul>
    630 
    631 <h3 id="Permissions"></h3>
    632 
    633 <p><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">{@code <uses-permission>}</a>  API </p>
    634 
    635 <ul>
    636 <li>{@link android.Manifest.permission#BIND_DREAM_SERVICE} API  21 <a href="{@docRoot}about/versions/android-4.2.html#Daydream">Daydream</a> </li>
    637 </ul>
    638