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 RuntimeART</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 Native Development KitNDK</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 Extension Pack</a></li>
     44     </ol>
     45   </li>
     46   <li><a href="#Media"></a>
     47     <ol>
     48       <li><a href="#Camera-v2"> Camera 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">Bluetooth </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 Manager</a>  Android 5.0 SDK  </p>
    132 
    133 <h3 id="ApiLevel"> API </h3>
    134 
    135 <p>Android {@sdkPlatformVersion} <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code targetSdkVersion}</a>  <code>"{@sdkPlatformApiLevel}"</code> Android {@sdkPlatformVersion}  </p>
    136 
    137 <p>Android {@sdkPlatformVersion} API <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a>  API  API <a href="{@docRoot}training/basics/supporting-devices/platforms.html"> </a></p>
    138 
    139 <p>API <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API </a></p>
    140 
    141 <h2 id="Behaviors"></h2>
    142 
    143 <p> Android  Android 5.0 </p>
    144 
    145 <h3 id="ART"> Android RuntimeART</h3>
    146 
    147 <p> 4.4  Android  ART 4.4 ART  Dalvik Android 5.0 ART </p>
    148 
    149 <p>ART <a href="https://source.android.com/devices/tech/dalvik/art.html">ART </a></p>
    150 
    151 <ul>
    152   <li>AOTAhead-of-time</li>
    153   <li> GC</li>
    154   <li> </li>
    155 </ul>
    156 
    157 <p> Android  ART Dalvik  ART <a href="{@docRoot}guide/practices/verifying-apps-art.html">Android RuntimeART</a></p>
    158 
    159 <ul>
    160   <li> C/C++  Java Native InterfaceJNI</li>
    161   <li></li>
    162   <li> ART  GC Android   GC </li>
    163 </ul>
    164 
    165 <h3 id="BehaviorNotifications"></h3>
    166 
    167 <p>Android 5.0 Android 5.0 <a href="{@docRoot}design/patterns/notifications.html"></a>
    168 </p>
    169 
    170 <h4 id="NotificationsMaterialDesignStyle">Material Design </h4>
    171 <p> Material Design </p>
    172 
    173 <ul>
    174   <li>{@link android.app.Notification.Builder#setColor(int) setColor()}   </li>
    175   <li> </li>
    176 </ul>
    177 
    178 <h4 id="NotificationsSoundVibration"></h4>
    179 <p> {@link android.media.Ringtone}{@link android.media.MediaPlayer} {@link android.os.Vibrator} <em></em> {@link android.app.Notification.Builder} </p>
    180 
    181 <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>
    182 
    183 <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>
    184 
    185 <h4 id="NotificationsLockscreenVisibility"></h4>
    186 <p>Android 5.0 {@link android.app.Notification.Builder#setPublicVersion(android.app.Notification) setPublicVersion()} </p>
    187 <p>{@link android.app.Notification.Builder#setVisibility(int) setVisibility()}  {@link android.app.Notification#VISIBILITY_PUBLIC VISIBILITY_PUBLIC} 
    188 </p>
    189 
    190 <h4 id="NotificationsMediaPlayback"></h4>
    191 <p>  {@link android.widget.RemoteViews.RemoteView}  {@link android.app.Notification.MediaStyle}  {@link android.app.Notification#VISIBILITY_PUBLIC VISIBILITY_PUBLIC} Android 5.0  {@link android.media.RemoteControlClient} <a href="#BehaviorMediaControl"> RemoteControlClient </a></p>
    192 
    193 <h4 id="NotificationsHeadsup"></h4>
    194 <p> </p>
    195 
    196 <p></p>
    197 
    198 <ul>
    199   <li> {@link android.app.Notification#fullScreenIntent} </li>
    200   <li></li>
    201 </ul>
    202 
    203 <p></p>
    204 
    205 <h3 id="BehaviorMediaControl"> RemoteControlClient </h3>
    206 <p>{@link android.media.RemoteControlClient}  {@link android.media.session.MediaSession} API </p>
    207 
    208 <p>Android 5.0  {@link android.media.session.MediaSession}  {@link android.media.RemoteControlClient}   </p>
    209 
    210 <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>
    211 
    212 <p> {@link android.app.Notification#VISIBILITY_PUBLIC VISIBILITY_PUBLIC} <a href="#LockscreenNotifications"></a></p>
    213 
    214 <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>
    215 
    216 <h3 id="BehaviorGetRecentTasks"> getRecentTasks() </h3>
    217 
    218 <p>Android 5.0  /  <em></em><a href="#Recents"> / </a> {@link android.app.ActivityManager#getRecentTasks ActivityManager.getRecentTasks()}  {@link android.app.ActivityManager#getAppTasks() getAppTasks()} </p>
    219 
    220 <h3 id="64BitSupport">Android Native Development KitNDK</h3>
    221 
    222 <p>Android 5.0  64  64  32  64  OpenSSL  OpenGL ESGLES3.1  NDK API </p>
    223 
    224 <p>Android 5.0  64 <a href="{@docRoot}tools/sdk/ndk/index.html">Android NDK </a> NDK Revision 10c NDK Revision 10c <a href="{@docRoot}tools/sdk/ndk/index.html#Revisions"></a></p>
    225 
    226 <h3 id="BindService"></h3>
    227 
    228 <p>{@link android.content.Context#bindService(android.content.Intent, android.content.ServiceConnection, int) Context.bindService()}  {@link android.content.Intent} {@link android.app.Service}  </p>
    229 
    230 <h3 id="BehaviorWebView"> WebView </h3>
    231 
    232 <p>Android 5.0 </p>
    233 <ul>
    234 <li><strong> API  21 :</strong>
    235   <ul>
    236     <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>
    237     <li> HTML {@link android.webkit.WebView#enableSlowWholeDocumentDraw()} </li>
    238   </ul>
    239 </li>
    240 <li><strong> API  21 :</strong>  Cookie </li>
    241 </ul>
    242 
    243 <h2 id="UI"> </h2>
    244 
    245 <h3 id="MaterialDesign">Material Design </h3>
    246 
    247 <p>Android Material Design<em></em>Material Design  UI </p>
    248 
    249 <ul>
    250 
    251   <li> </li>
    252   <li></li>
    253   <li>{@link android.support.v7.widget.RecyclerView} </li>
    254   <li></li>
    255   <li>Material Design </li>
    256   <li></li>
    257   <li> UI </li>
    258   <li>XML   drawable  drawable</li>
    259 </ul>
    260 
    261 <p> Material Design <a href="{@docRoot}training/material/index.html">Material Design</a> </p>
    262 
    263 <h3 id="Recents"> / </h3>
    264 
    265 <p><a href="{@docRoot}guide/components/recents.html"></a> 1    {@link android.app.ActivityManager.AppTask} </p>
    266 
    267 <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>
    268 
    269 <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>
    270 
    271 <p> <a href="{@docRoot}reference/android/R.attr.html#persistableMode">android:persistableMode</a> {@link android.app.Activity#setTaskDescription(android.app.ActivityManager.TaskDescription) setTaskDescription()} </p>
    272 
    273 <h3 id="WebView">WebView </h3>
    274 <p>Android 5.0  Chromium M37  {@link android.webkit.WebView} Android 5.0  {@link android.webkit.WebView}  37.0.0.0 </p>
    275 
    276 <p> {@link android.webkit.PermissionRequest} <a href="https://developer.mozilla.org/en-US/docs/NavigatorUserMedia.getUserMedia" class="external-link">getUserMedia()</a>  API  {@link android.webkit.WebView} {@link android.webkit.WebView}  Android </p>
    277 
    278 <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>
    279 
    280 <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>
    281 
    282 <h3 id="ScreenCapture"></h3>
    283 <p>Android 5.0  {@link android.media.projection} API </p>
    284 
    285 <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>
    286 
    287 <p> API   {@code MediaProjectionDemo} </p>
    288 
    289 <h2 id="Notifications"></h2>
    290 
    291 <h3 id="LockscreenNotifications"></h3>
    292 <p>Android 5.0  []<em></em> </p>
    293 
    294 <p>{@link android.app.Notification.Builder#setVisibility(int) setVisibility()} </p>
    295 
    296 <ul>
    297 <li>{@link android.app.Notification#VISIBILITY_PRIVATE VISIBILITY_PRIVATE}: </li>
    298 <li>{@link android.app.Notification#VISIBILITY_PUBLIC VISIBILITY_PUBLIC}: </li>
    299 <li>{@link android.app.Notification#VISIBILITY_SECRET VISIBILITY_SECRET}: </li>
    300 </ul>
    301 
    302 <p> {@link android.app.Notification#VISIBILITY_PRIVATE VISIBILITY_PRIVATE}  SMS 3   {@link android.app.Notification.Builder} {@link android.app.Notification.Builder#setPublicVersion(android.app.Notification) setPublicVersion()} </p>
    303 
    304 <h3 id="NotificationsMetadata"></h3>
    305 <p>Android 5.0  {@link android.app.Notification.Builder} </p>
    306 
    307 <ul>
    308 <li>{@link android.app.Notification.Builder#setCategory(java.lang.String) setCategory()}: <em></em> 
    309 <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>
    310 <li>{@link android.app.Notification.Builder#addPerson(java.lang.String) addPerson()}:  1 </li>
    311 </ul>
    312 
    313 <h2 id="Graphics"></h2>
    314 
    315 <h3 id="OpenGLES-3-1">OpenGL ES 3.1 </h3>
    316 <p>Android 5.0 OpenGL ES 3.1   Java OpenGL ES 3.1 </p>
    317 
    318 <ul>
    319 <li> 
    320 <li> 
    321 <li>
    322 <li>  
    323 <li>
    324 <li>
    325 <li>OpenGL ES 2.0 / 3.0 
    326 </ul>
    327 
    328 <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>
    329 
    330 <pre>
    331 &lt;manifest&gt;
    332     &lt;uses-feature android:glEsVersion="0x00030001" /&gt;
    333     ...
    334 &lt;/manifest&gt;
    335 </pre>
    336 
    337 <p> OpenGL ES OpenGL ES <a href="{@docRoot}guide/topics/graphics/opengl.html">OpenGL ES API </a></p>
    338 
    339 <h3 id="AndroidExtensionPack">Android Extension Pack</h3>
    340 
    341 <p>OpenGL ES 3.1   Java  Android  1 {@code ANDROID_extension_pack_es31a} 1  {@code #extension} </p>
    342 
    343 <p></p>
    344 
    345 <ul>
    346 <li> OpenGL ES 3.1  </li>
    347 <li>  </li>
    348 <li>ASTCLDR</li>
    349 <li></li>
    350 <li>  </li>
    351 </ul>
    352 
    353 <p> Java  {@link android.opengl.GLES31Ext} </p>
    354 
    355 <pre>
    356 &lt;manifest&gt;
    357     &lt;uses-feature android:name=android.hardware.opengles.aep
    358         android:required="true" /&gt;
    359     ...
    360 &lt;/manifest&gt;
    361 </pre>
    362 
    363 <h2 id="Media"></h2>
    364 
    365 <h3 id="Camera-v2"> Camera API</h3>
    366 
    367 <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} 1 </p>
    368 
    369 <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>
    370 
    371 <p> {@link android.hardware.camera2.CameraCharacteristics}  {@link android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL INFO_SUPPORTED_HARDWARE_LEVEL} </p>
    372 
    373 <ul>
    374   <li> {@link android.hardware.camera2.CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY}   {@link android.hardware.Camera} API </li>
    375   <li>{@link android.hardware.camera2.CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL INFO_SUPPORTED_HARDWARE_LEVEL_FULL}  </li>
    376 </ul>
    377 
    378 <p> <a href="{@docRoot}reference/android/hardware/camera2/package-summary.html">Camera</a> API  {@code Camera2Basic}  {@code Camera2Video} </p>
    379 
    380 <h3 id="AudioPlayback"></h3>
    381 <p> {@link android.media.AudioTrack} </p>
    382 <ul>
    383   <li>{@link android.media.AudioFormat#ENCODING_PCM_FLOAT ENCODING_PCM_FLOAT} Android 5.0 
    384   <li> {@link java.nio.ByteBuffer} {@link android.media.MediaCodec} 
    385   <li>{@link android.media.AudioTrack#WRITE_NON_BLOCKING WRITE_NON_BLOCKING} 
    386 </ul>
    387 
    388 <h3 id="MediaPlaybackControl"></h3>
    389 <p> UI  /  API UI  {@link android.media.session.MediaSession}  {@link android.media.session.MediaController} </p>
    390 
    391 <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>
    392 
    393 <p> {@link android.media.session.MediaController}    UI  {@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>
    394 
    395 <p> {@link android.app.Notification.MediaStyle}  </p>
    396 
    397 <h3 id="MediaBrowsing"></h3>
    398 <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>
    399 <p>  {@link android.media.browse.MediaBrowser} {@link android.media.browse.MediaBrowser} {@link android.media.session.MediaSession}  {@link android.media.session.MediaSession.Token} </p>
    400 
    401 <h2 id="Storage"></h2>
    402 
    403 <h3 id="DirectorySelection"></h3>
    404 
    405 <p>Android 5.0 <a href="{@docRoot}guide/topics/providers/document-provider.html">  </a> / </p>
    406 
    407 <p>{@link android.content.Intent#ACTION_OPEN_DOCUMENT_TREE OPEN_DOCUMENT_TREE}  {@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>
    408 
    409 <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>
    410 
    411 <p>{@link android.provider.DocumentsProvider} {@link android.provider.DocumentsProvider#isChildDocument(java.lang.String, java.lang.String) isChildDocument()} {@link android.provider.DocumentsContract.Root#FLAG_SUPPORTS_IS_CHILD FLAG_SUPPORTS_IS_CHILD}  {@link android.provider.DocumentsContract.Root#COLUMN_FLAGS COLUMN_FLAGS} </p>
    412 
    413 <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>
    414 
    415 <h2 id="Wireless"></h2>
    416 
    417 <h3 id="Multinetwork"></h3>
    418 <p>Android 5.0  API  API  SUPLMMS </p>
    419 
    420 <p></p>
    421 
    422 <ol>
    423  <li>{@link android.net.ConnectivityManager} </li>
    424  <li>{@link android.net.NetworkRequest.Builder}  {@link android.net.NetworkRequest}  </li>
    425 <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>
    426 </ol>
    427 
    428 <p>{@link android.net.ConnectivityManager.NetworkCallback#onAvailable(android.net.Network) onAvailable()}  {@link android.net.Network} </p>
    429 
    430 <h3 id="BluetoothBroadcasting">Bluetooth Low Energy</h3>
    431 <p>Android 4.3 <a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">Bluetooth Low Energy</a><em>Bluetooth LE</em>Android 5.0 Android  Bluetooth LE <em></em> Bluetooth LE </p>
    432 <p> {@link android.bluetooth.le} API  Bluetooth LE {@link android.Manifest.permission#BLUETOOTH_ADMIN BLUETOOTH_ADMIN} Play Bluetooth: BluetoothBluetooth</p>
    433 
    434 <p> Bluetooth LE {@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>
    435 
    436 <p> Android 5.0  {@link android.bluetooth.le.ScanFilter} Bluetooth LE {@link android.bluetooth.le.BluetoothLeScanner#startScan(android.bluetooth.le.ScanCallback) startScan()} {@link android.bluetooth.le.ScanCallback} Bluetooth LE  </p>
    437 
    438 <h3 id="NFCEnhancements">NFC </h3>
    439 <p>Android 5.0 NFC </p>
    440 
    441 <ul>
    442 <li>Android Beam <em></em></li>
    443 <li> Android Beam {@link android.nfc.NfcAdapter#invokeBeam(android.app.Activity) invokeBeam()}  NFC </li>
    444 <li> {@link android.nfc.NdefRecord#createTextRecord(java.lang.String, java.lang.String) createTextRecord()} UTF-8  NDEF </li>
    445 <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  IDAID{@link android.nfc.cardemulation.CardEmulation#setPreferredService(android.app.Activity, android.content.ComponentName) setPreferredService()}   </li>
    446 </ul>
    447 
    448 <h2 id="Power">Project Volta</h2>
    449 
    450 <p>Android 5.0  API </p>
    451 
    452 <h3 id="JobScheduler"></h3>
    453 <p>Android 5.0  {@link android.app.job.JobScheduler} API  </p>
    454 <ul>
    455   <li></li>
    456   <li></li>
    457   <li>  Wi-Fi </li>
    458   <li></li>
    459 
    460 </ul>
    461 
    462 <p> {@link android.app.job.JobInfo} </p>
    463 
    464 <p>{@link android.app.job.JobInfo.Builder} </p>
    465 
    466 <ul>
    467   <li></li>
    468   <li></li>
    469   <li></li>
    470   <li></li>
    471 </ul>
    472 
    473 <p></p>
    474 
    475 <pre>
    476 JobInfo uploadTask = new JobInfo.Builder(mJobId,
    477                                          mServiceComponent /* JobService component */)
    478         .setRequiredNetworkCapabilities(JobInfo.NetworkType.UNMETERED)
    479         .build();
    480 JobScheduler jobScheduler =
    481         (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
    482 jobScheduler.schedule(uploadTask);
    483 </pre>
    484 
    485 <p> 2 <a href="{@docRoot}reference/android/content/Intent.html#ACTION_BATTERY_OKAY"></a></p>
    486 
    487 <p>{@link android.app.job.JobScheduler} API  {@code JobSchedulerSample} </p>
    488 
    489 <h3 id="PowerMeasurementTools"></h3>
    490 
    491 <p> {@code dumpsys batterystats}  IDUID</p>
    492 
    493 <ul>
    494 <li>
    495 <li>
    496 <li>UID  
    497 <li> 
    498 <li> UID 
    499 <li> UID 
    500 </ul>
    501 
    502 <p>{@code --help}  
    503 <pre>
    504 $ adb shell dumpsys batterystats --charged &lt;package-name&gt;
    505 </pre>
    506 
    507 <p>{@code dumpsys} <a href="https://github.com/google/battery-historian" class="external-link"></a> HTML </p>
    508 
    509 <h2 id="Enterprise"> Android</h2>
    510 <h3 id="ManagedProvisioning"></h3>
    511 
    512 <p>Android 5.0 <a href="{@docRoot}guide/topics/admin/device-admin.html"></a><em></em></p>
    513 
    514 <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>
    515 
    516 <p>{@link android.app.admin.DevicePolicyManager#enableSystemApp(android.content.ComponentName, android.content.Intent) enableSystemApp()} </p>
    517 
    518 <p>  {@link android.content.pm.LauncherApps}  drawable  {@link android.content.pm.PackageManager#getUserBadgedIcon(android.graphics.drawable.Drawable, android.os.UserHandle) getUserBadgedIcon()} </p>
    519 
    520 <p> {@code BasicManagedProfile} </p>
    521 
    522 <h3 id="DeviceOwner"></h3>
    523 <p>Android 5.0 <em></em><a href="{@docRoot}guide/topics/admin/device-admin.html"></a> 2  {@link android.app.admin.DevicePolicyManager}  1 </p>
    524 
    525 <p>  NFC <a href="#ManagedProvisioning"></a></p>
    526 
    527 <h3 id="ScreenPinning"></h3>
    528 
    529 <p>Android 5.0  API  Android </p>
    530 
    531 <p> 2 </p>
    532 
    533 <ul>
    534 <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>
    535 </ul>
    536 
    537 <p></p>
    538 
    539 <ul>
    540 <li></li>
    541 <li></li>
    542 <li></li>
    543 <li></li>
    544 <li> {@link android.app.Activity#stopLockTask() stopLockTask()} </li>
    545 <li></li>
    546 
    547 </ul>
    548 
    549 <h2 id="Printing"></h2>
    550 
    551 <h3 id="PDFRender">PDF </h3>
    552 <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>
    553 
    554 <p>{@code PdfRendererBasic} </p>
    555 
    556 <h2 id="System"></h2>
    557 <h3 id="AppUsageStatistics"></h3>
    558 <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>
    559 
    560 <p></p>
    561 
    562 <ul>
    563   <li>: 7 </li>
    564   <li>: 4 </li>
    565   <li>: 6 </li>
    566   <li>: 2 </li>
    567 </ul>
    568 
    569 <p></p>
    570 <ul>
    571 <li></li>
    572 <li>1 1 1  1 </li>
    573 <li>1 </li>
    574 <li></li>
    575 </ul>
    576 
    577 <h2 id="TestingA11y"> </h2>
    578 
    579 <h3 id="TestingA11yImprovements"></h3>
    580 <p>Android 5.0 </p>
    581 
    582 <ul>
    583 <li> {@link android.app.UiAutomation#getWindowAnimationFrameStats() getWindowAnimationFrameStats()}  {@link android.app.UiAutomation#getWindowContentFrameStats(int) getWindowContentFrameStats()}  </li>
    584 
    585 <li> {@link android.app.UiAutomation#executeShellCommand(java.lang.String) executeShellCommand()}  {@code adb shell} {@code dumpsys}{@code am}{@code content}{@code pm} </li>
    586 
    587 <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>
    588 
    589 <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>
    590 
    591 <li>Android 5.0  {@link android.speech.tts.Voice} </li>
    592 </ul>
    593 
    594 <h2 id="IME">IME</h2>
    595 
    596 <h3 id="Switching"></h3>
    597 
    598 <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>
    599 
    600 <p> IME  IME  IME  IME  IME  {@link android.view.inputmethod.InputMethodManager#switchToNextInputMethod(android.os.IBinder, boolean) switchToNextInputMethod()} 
    601 
    602 <p> IME  API  IME <a href="{@docRoot}guide/topics/text/creating-input-method.html"></a>
    603 </p>
    604 
    605 <h2 id="Manifest"></h2>
    606 
    607 <h3 id="ManifestFeatures"></h3>
    608 <p> <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>}</a> </p>
    609 
    610 <ul>
    611 <li>{@link android.content.pm.PackageManager#FEATURE_AUDIO_OUTPUT}</li>
    612 <li>{@link android.content.pm.PackageManager#FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING}</li>
    613 <li>{@link android.content.pm.PackageManager#FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR}</li>
    614 <li>{@link android.content.pm.PackageManager#FEATURE_CAMERA_CAPABILITY_RAW}</li>
    615 <li>{@link android.content.pm.PackageManager#FEATURE_CAMERA_LEVEL_FULL}</li>
    616 <li>{@link android.content.pm.PackageManager#FEATURE_GAMEPAD}</li>
    617 <li>{@link android.content.pm.PackageManager#FEATURE_LIVE_TV}</li>
    618 <li>{@link android.content.pm.PackageManager#FEATURE_MANAGED_USERS}</li>
    619 <li>{@link android.content.pm.PackageManager#FEATURE_LEANBACK}</li>
    620 <li>{@link android.content.pm.PackageManager#FEATURE_OPENGLES_EXTENSION_PACK}</li>
    621 <li>{@link android.content.pm.PackageManager#FEATURE_SECURELY_REMOVES_USERS}</li>
    622 <li>{@link android.content.pm.PackageManager#FEATURE_SENSOR_AMBIENT_TEMPERATURE}</li>
    623 <li>{@link android.content.pm.PackageManager#FEATURE_SENSOR_HEART_RATE_ECG}</li>
    624 <li>{@link android.content.pm.PackageManager#FEATURE_SENSOR_RELATIVE_HUMIDITY}</li>
    625 <li>{@link android.content.pm.PackageManager#FEATURE_VERIFIED_BOOT}</li>
    626 <li>{@link android.content.pm.PackageManager#FEATURE_WEBVIEW}</li>
    627 </ul>
    628 
    629 <h3 id="Permissions"></h3>
    630 
    631 <p> <a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">{@code <uses-permission>}</a>  API </p>
    632 
    633 <ul>
    634 <li>{@link android.Manifest.permission#BIND_DREAM_SERVICE}: API  21 <a href="{@docRoot}about/versions/android-4.2.html#Daydream">Daydream</a> </li>
    635 </ul>
    636