Doc change: updates to mm pages.
Change-Id: I676cb362c3efc0cff5ebb1c494a03bf1c117f0e5
This commit is contained in:
@@ -7,32 +7,29 @@ page.customHeadTag=<meta name="google-site-verification" content="sa-bIAI6GKvct3
|
||||
|
||||
<!-- <div class="dac-hero-carousel" data-carousel-query="collection:index/carousel">
|
||||
</div> -->
|
||||
<section class="dac-hero-carousel">
|
||||
|
||||
<!-- <article class="dac-expand dac-hero dac-invert active" style="background-color: rgb(38, 50, 56);"> -->
|
||||
<article class="dac-expand dac-hero dac-invert active" style="background-color: #455A64;">
|
||||
<a href="/preview/index.html">
|
||||
<div class="wrap" style="max-width:1100px;">
|
||||
<article class="dac-expand dac-hero dac-invert dac-darken mprev active" style="background-color: #75d1ff;">
|
||||
<a href="about/versions/marshmallow/index.html">
|
||||
<div class="wrap" style="max-width:1100px;margin-top:0">
|
||||
<div class="cols dac-hero-content">
|
||||
<div class="col-10of16 col-push-6of16 dac-hero-figure">
|
||||
<img class="dac-hero-image" src="{@docRoot}images/home/devices-hero_620px_2x.png"
|
||||
srcset="{@docRoot}images/home/devices-hero_620px.png 1x,
|
||||
{@docRoot}images/home/devices-hero_620px_2x.png 2x">
|
||||
<div class="col-8of16 col-push-6of16 dac-hero-figure mprev">
|
||||
</div>
|
||||
<div class="col-6of16 col-pull-10of16">
|
||||
<div class="col-8of16 col-pull-7of16">
|
||||
<div class="dac-hero-tag"></div>
|
||||
|
||||
<h1 class="dac-hero-title">Android M Developer Preview</h1>
|
||||
<p class="dac-hero-description">Prepárese para la próxima versión de
|
||||
Android. Pruebe sus aplicaciones en Nexus 5, 6, 9 y Player. </p>
|
||||
<h1 class="dac-hero-title" style="white-space:nowrap;">Android 6.0 Marshmallow</h1>
|
||||
</div>
|
||||
<div class="col-6of16 col-push-1of16">
|
||||
<p class="dac-hero-description" style="color:white"><strong>The
|
||||
official Android 6.0 SDK is now available!</strong>
|
||||
Explore what's new — runtime permissions,
|
||||
Doze and App Standby power-saving features, new
|
||||
assist technology, and more.</p>
|
||||
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/index.html">
|
||||
<a class="dac-hero-cta" href="{@docRoot}about/versions/marshmallow/index.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
¡Empiece hoy mismo!</a><br>
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/support.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
Developer Preview 2</a>
|
||||
</a>
|
||||
Learn more
|
||||
</a><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -7,33 +7,29 @@ page.customHeadTag=<meta name="google-site-verification" content="sa-bIAI6GKvct3
|
||||
|
||||
<!-- <div class="dac-hero-carousel" data-carousel-query="collection:index/carousel">
|
||||
</div> -->
|
||||
<section class="dac-hero-carousel">
|
||||
|
||||
<!-- <article class="dac-expand dac-hero dac-invert active" style="background-color: rgb(38, 50, 56);"> -->
|
||||
<article class="dac-expand dac-hero dac-invert active" style="background-color: #455A64;">
|
||||
<a href="/preview/index.html">
|
||||
<div class="wrap" style="max-width:1100px;">
|
||||
<article class="dac-expand dac-hero dac-invert dac-darken mprev active" style="background-color: #75d1ff;">
|
||||
<a href="about/versions/marshmallow/index.html">
|
||||
<div class="wrap" style="max-width:1100px;margin-top:0">
|
||||
<div class="cols dac-hero-content">
|
||||
<div class="col-10of16 col-push-6of16 dac-hero-figure">
|
||||
<img class="dac-hero-image" src="{@docRoot}images/home/devices-hero_620px_2x.png"
|
||||
srcset="{@docRoot}images/home/devices-hero_620px.png 1x,
|
||||
{@docRoot}images/home/devices-hero_620px_2x.png 2x">
|
||||
<div class="col-8of16 col-push-6of16 dac-hero-figure mprev">
|
||||
</div>
|
||||
<div class="col-6of16 col-pull-10of16">
|
||||
<div class="col-8of16 col-pull-7of16">
|
||||
<div class="dac-hero-tag"></div>
|
||||
|
||||
<h1 class="dac-hero-title">Android M Developer Preview</h1>
|
||||
<p class="dac-hero-description">次期バージョンの Android に向けて準備しましょう。
|
||||
Nexus 5、6、9、Nexus Player でアプリをテストします。 </p>
|
||||
<h1 class="dac-hero-title" style="white-space:nowrap;">Android 6.0 Marshmallow</h1>
|
||||
</div>
|
||||
<div class="col-6of16 col-push-1of16">
|
||||
<p class="dac-hero-description" style="color:white"><strong>The
|
||||
official Android 6.0 SDK is now available!</strong>
|
||||
Explore what's new — runtime permissions,
|
||||
Doze and App Standby power-saving features, new
|
||||
assist technology, and more.</p>
|
||||
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/index.html">
|
||||
<a class="dac-hero-cta" href="{@docRoot}about/versions/marshmallow/index.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
スタートガイド
|
||||
Learn more
|
||||
</a><br>
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/support.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
Developer Preview 2</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -7,32 +7,29 @@ page.customHeadTag=<meta name="google-site-verification" content="sa-bIAI6GKvct3
|
||||
|
||||
<!-- <div class="dac-hero-carousel" data-carousel-query="collection:index/carousel">
|
||||
</div> -->
|
||||
<section class="dac-hero-carousel">
|
||||
|
||||
<!-- <article class="dac-expand dac-hero dac-invert active" style="background-color: rgb(38, 50, 56);"> -->
|
||||
<article class="dac-expand dac-hero dac-invert active" style="background-color: #455A64;">
|
||||
<a href="/preview/index.html">
|
||||
<div class="wrap" style="max-width:1100px;">
|
||||
<article class="dac-expand dac-hero dac-invert dac-darken mprev active" style="background-color: #75d1ff;">
|
||||
<a href="about/versions/marshmallow/index.html">
|
||||
<div class="wrap" style="max-width:1100px;margin-top:0">
|
||||
<div class="cols dac-hero-content">
|
||||
<div class="col-10of16 col-push-6of16 dac-hero-figure">
|
||||
<img class="dac-hero-image" src="{@docRoot}images/home/devices-hero_620px_2x.png"
|
||||
srcset="{@docRoot}images/home/devices-hero_620px.png 1x,
|
||||
{@docRoot}images/home/devices-hero_620px_2x.png 2x">
|
||||
<div class="col-8of16 col-push-6of16 dac-hero-figure mprev">
|
||||
</div>
|
||||
<div class="col-6of16 col-pull-10of16">
|
||||
<div class="col-8of16 col-pull-7of16">
|
||||
<div class="dac-hero-tag"></div>
|
||||
|
||||
<h1 class="dac-hero-title">Android M Developer Preview</h1>
|
||||
<p class="dac-hero-description">Android의 다음 버전을 만나볼 준비가
|
||||
되셨습니까? 여러분의 앱을 Nexus 5, 6, 9 및 Player에서 테스트해보십시오. </p>
|
||||
<h1 class="dac-hero-title" style="white-space:nowrap;">Android 6.0 Marshmallow</h1>
|
||||
</div>
|
||||
<div class="col-6of16 col-push-1of16">
|
||||
<p class="dac-hero-description" style="color:white"><strong>The
|
||||
official Android 6.0 SDK is now available!</strong>
|
||||
Explore what's new — runtime permissions,
|
||||
Doze and App Standby power-saving features, new
|
||||
assist technology, and more.</p>
|
||||
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/index.html">
|
||||
<a class="dac-hero-cta" href="{@docRoot}about/versions/marshmallow/index.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
지금 시작하세요!
|
||||
Learn more
|
||||
</a><br>
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/support.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
Developer Preview 2</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -7,31 +7,29 @@ page.customHeadTag=<meta name="google-site-verification" content="sa-bIAI6GKvct3
|
||||
|
||||
<!-- <div class="dac-hero-carousel" data-carousel-query="collection:index/carousel">
|
||||
</div> -->
|
||||
<section class="dac-hero-carousel">
|
||||
|
||||
<!-- <article class="dac-expand dac-hero dac-invert active" style="background-color: rgb(38, 50, 56);"> -->
|
||||
<article class="dac-expand dac-hero dac-invert active" style="background-color: #455A64;">
|
||||
<a href="/preview/index.html">
|
||||
<div class="wrap" style="max-width:1100px;">
|
||||
<article class="dac-expand dac-hero dac-invert dac-darken mprev active" style="background-color: #75d1ff;">
|
||||
<a href="about/versions/marshmallow/index.html">
|
||||
<div class="wrap" style="max-width:1100px;margin-top:0">
|
||||
<div class="cols dac-hero-content">
|
||||
<div class="col-10of16 col-push-6of16 dac-hero-figure">
|
||||
<img class="dac-hero-image" src="{@docRoot}images/home/devices-hero_620px_2x.png"
|
||||
srcset="{@docRoot}images/home/devices-hero_620px.png 1x,
|
||||
{@docRoot}images/home/devices-hero_620px_2x.png 2x">
|
||||
<div class="col-8of16 col-push-6of16 dac-hero-figure mprev">
|
||||
</div>
|
||||
<div class="col-6of16 col-pull-10of16">
|
||||
<div class="col-8of16 col-pull-7of16">
|
||||
<div class="dac-hero-tag"></div>
|
||||
|
||||
<h1 class="dac-hero-title">Android M Developer Preview</h1>
|
||||
<p class="dac-hero-description">Prepare-se para a próxima versão do
|
||||
Android. Teste os aplicativos no Nexus 5, 6, 9 e Player. </p>
|
||||
<h1 class="dac-hero-title" style="white-space:nowrap;">Android 6.0 Marshmallow</h1>
|
||||
</div>
|
||||
<div class="col-6of16 col-push-1of16">
|
||||
<p class="dac-hero-description" style="color:white"><strong>The
|
||||
official Android 6.0 SDK is now available!</strong>
|
||||
Explore what's new — runtime permissions,
|
||||
Doze and App Standby power-saving features, new
|
||||
assist technology, and more.</p>
|
||||
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/index.html">
|
||||
<a class="dac-hero-cta" href="{@docRoot}about/versions/marshmallow/index.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
Comece!</a><br>
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/support.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
Developer Preview 2</a>
|
||||
Learn more
|
||||
</a><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -7,33 +7,29 @@ page.customHeadTag=<meta name="google-site-verification" content="sa-bIAI6GKvct3
|
||||
|
||||
<!-- <div class="dac-hero-carousel" data-carousel-query="collection:index/carousel">
|
||||
</div> -->
|
||||
<section class="dac-hero-carousel">
|
||||
|
||||
<!-- <article class="dac-expand dac-hero dac-invert active" style="background-color: rgb(38, 50, 56);"> -->
|
||||
<article class="dac-expand dac-hero dac-invert active" style="background-color: #455A64;">
|
||||
<a href="/preview/index.html">
|
||||
<div class="wrap" style="max-width:1100px;">
|
||||
<article class="dac-expand dac-hero dac-invert dac-darken mprev active" style="background-color: #75d1ff;">
|
||||
<a href="about/versions/marshmallow/index.html">
|
||||
<div class="wrap" style="max-width:1100px;margin-top:0">
|
||||
<div class="cols dac-hero-content">
|
||||
<div class="col-10of16 col-push-6of16 dac-hero-figure">
|
||||
<img class="dac-hero-image" src="{@docRoot}images/home/devices-hero_620px_2x.png"
|
||||
srcset="{@docRoot}images/home/devices-hero_620px.png 1x,
|
||||
{@docRoot}images/home/devices-hero_620px_2x.png 2x">
|
||||
<div class="col-8of16 col-push-6of16 dac-hero-figure mprev">
|
||||
</div>
|
||||
<div class="col-6of16 col-pull-10of16">
|
||||
<div class="col-8of16 col-pull-7of16">
|
||||
<div class="dac-hero-tag"></div>
|
||||
|
||||
<h1 class="dac-hero-title">Android M Developer Preview</h1>
|
||||
<p class="dac-hero-description">Подготовьтесь к выходу следующей версии
|
||||
платформы Android. Протестируйте ваши приложения на устройствах Nexus
|
||||
5, 6, 9 и Player. </p>
|
||||
<h1 class="dac-hero-title" style="white-space:nowrap;">Android 6.0 Marshmallow</h1>
|
||||
</div>
|
||||
<div class="col-6of16 col-push-1of16">
|
||||
<p class="dac-hero-description" style="color:white"><strong>The
|
||||
official Android 6.0 SDK is now available!</strong>
|
||||
Explore what's new — runtime permissions,
|
||||
Doze and App Standby power-saving features, new
|
||||
assist technology, and more.</p>
|
||||
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/index.html">
|
||||
<a class="dac-hero-cta" href="{@docRoot}about/versions/marshmallow/index.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
Итак, приступим!
|
||||
Learn more
|
||||
</a><br>
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/support.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
Developer Preview 2</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -7,32 +7,29 @@ page.customHeadTag=<meta name="google-site-verification" content="sa-bIAI6GKvct3
|
||||
|
||||
<!-- <div class="dac-hero-carousel" data-carousel-query="collection:index/carousel">
|
||||
</div> -->
|
||||
<section class="dac-hero-carousel">
|
||||
|
||||
<!-- <article class="dac-expand dac-hero dac-invert active" style="background-color: rgb(38, 50, 56);"> -->
|
||||
<article class="dac-expand dac-hero dac-invert active" style="background-color: #455A64;">
|
||||
<a href="/preview/index.html">
|
||||
<div class="wrap" style="max-width:1100px;">
|
||||
<article class="dac-expand dac-hero dac-invert dac-darken mprev active" style="background-color: #75d1ff;">
|
||||
<a href="about/versions/marshmallow/index.html">
|
||||
<div class="wrap" style="max-width:1100px;margin-top:0">
|
||||
<div class="cols dac-hero-content">
|
||||
<div class="col-10of16 col-push-6of16 dac-hero-figure">
|
||||
<img class="dac-hero-image" src="{@docRoot}images/home/devices-hero_620px_2x.png"
|
||||
srcset="{@docRoot}images/home/devices-hero_620px.png 1x,
|
||||
{@docRoot}images/home/devices-hero_620px_2x.png 2x">
|
||||
<div class="col-8of16 col-push-6of16 dac-hero-figure mprev">
|
||||
</div>
|
||||
<div class="col-6of16 col-pull-10of16">
|
||||
<div class="col-8of16 col-pull-7of16">
|
||||
<div class="dac-hero-tag"></div>
|
||||
|
||||
<h1 class="dac-hero-title">Android M Developer Preview</h1>
|
||||
<p class="dac-hero-description">准备迎接 Android 的下一版本。在 Nexus 5、
|
||||
6、9 和 Player 中测试应用。 </p>
|
||||
<h1 class="dac-hero-title" style="white-space:nowrap;">Android 6.0 Marshmallow</h1>
|
||||
</div>
|
||||
<div class="col-6of16 col-push-1of16">
|
||||
<p class="dac-hero-description" style="color:white"><strong>The
|
||||
official Android 6.0 SDK is now available!</strong>
|
||||
Explore what's new — runtime permissions,
|
||||
Doze and App Standby power-saving features, new
|
||||
assist technology, and more.</p>
|
||||
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/index.html">
|
||||
<a class="dac-hero-cta" href="{@docRoot}about/versions/marshmallow/index.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
开始!</a><br>
|
||||
<a class="dac-hero-cta" href="{@docRoot}preview/support.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
Developer Preview 2</a>
|
||||
</a>
|
||||
Learn more
|
||||
</a><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
Android 6.0 APIs</a></li>
|
||||
<li><a href="<?cs var:toroot ?>about/versions/marshmallow/android-6.0-changes.html">
|
||||
Android 6.0 Changes</a></li>
|
||||
<li><a href="<?cs var:toroot ?>about/versions/marshmallow/testing.html">Testing</a></li>
|
||||
<li><a href="<?cs var:toroot ?>about/versions/marshmallow/samples.html">Samples</a></li>
|
||||
<li><a href="<?cs var:toroot ?>about/versions/marshmallow/download.html">Downloads</a></li>
|
||||
</li>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
page.title=Android 6.0 Changes
|
||||
page.keywords=androidm,sdk,compatibility,marshmallow
|
||||
page.tags=androidm,marshmallow
|
||||
page.keywords=marshmallow,android60,sdk,compatibility
|
||||
meta.tags=marshmallow,api23,android60,androidm
|
||||
sdk.platform.apiLevel=23
|
||||
page.image=images/cards/samples-new_2x.png
|
||||
@jd:body
|
||||
|
||||
<div id="qv-wrapper">
|
||||
@@ -11,17 +12,17 @@ sdk.platform.apiLevel=23
|
||||
|
||||
<ol id="toc44" class="hide-nested">
|
||||
<li><a href="#behavior-runtime-permissions">Runtime Permissions</a></li>
|
||||
<li><a href="#behavior-power">Power-Saving Optimizations</a></li>
|
||||
<li><a href="#behavior-adoptable-storage">Adoptable Storage Devices</a></li>
|
||||
<li><a href="#behavior-power">Doze and App Standby</a></li>
|
||||
<li><a href="#behavior-apache-http-client">Apache HTTP Client Removal</a></li>
|
||||
<li><a href="#behavior-audiomanager-Changes">AudioManager Changes</a></li>
|
||||
<li><a href="#behavior-apache-http-client">BoringSSL</a></li>
|
||||
<li><a href="#behavior-hardware-id">Access to Hardware Identifiers</a></li>
|
||||
<li><a href="#behavior-notifications">Notifications</a></li>
|
||||
<li><a href="#behavior-audiomanager-Changes">AudioManager Changes</a></li>
|
||||
<li><a href="#behavior-test-selection">Text Selection</a></li>
|
||||
<li><a href="#behavior-keystore">Android Keystore Changes</a></li>
|
||||
<li><a href="#behavior-network">Wi-Fi and Networking Changes</a></li>
|
||||
<li><a href="#behavior-camera">Camera Service Changes</a></li>
|
||||
<li><a href="#behavior-runtime">Runtime</a></li>
|
||||
<li><a href="#behavior-hardware-id">Access to Hardware Identifier</a></li>
|
||||
<li><a href="#behavior-apk-validation">APK Validation</a></li>
|
||||
<li><a href="#behavior-usb">USB Connection</a></li>
|
||||
<li><a href="#behavior-afw">Android for Work Changes</a></li>
|
||||
@@ -67,8 +68,9 @@ the new permissions model.</p>
|
||||
Permissions</a> training page. For tips on how to assess the impact on your app,
|
||||
see the <a href="{@docRoot}about/versions/marshmallow/testing.html">Testing Guide</a></p>
|
||||
|
||||
<h2 id="behavior-power">Power-Saving Optimizations</h2>
|
||||
<p>This release introduces new power-saving optimizations for idle devices and apps.</p>
|
||||
<h2 id="behavior-power">Doze and App Standby</h2>
|
||||
<p>This release introduces new power-saving optimizations for idle devices and apps. These
|
||||
features affect all apps so make sure to test your apps in these new modes.</p>
|
||||
<ul>
|
||||
<li><strong>Doze</strong>: If a user unplugs a device and leaves it stationary, with its screen off,
|
||||
for a period of time, the device goes into <em>Doze</em> mode, where it attempts to keep the system
|
||||
@@ -83,55 +85,9 @@ access and suspends syncs and jobs for the apps it deems idle.</li>
|
||||
<p>To learn more about these power-saving changes, see
|
||||
<a href="{@docRoot}training/monitoring-device-state/doze-standby.html">Optimizing for Doze and App Standby</a>.</p>
|
||||
|
||||
<h2 id="behavior-adoptable-storage">Adoptable Storage Devices</h2>
|
||||
<p>
|
||||
With this release, users can <em>adopt</em> external storage devices such as SD cards. Adopting an
|
||||
external storage device encrypts and formats the device to behave like internal storage. This
|
||||
feature allows users to move both apps and private data of those apps between storage devices. When
|
||||
moving apps, the system respects the
|
||||
<a href="{@docRoot}guide/topics/manifest/manifest-element.html#install">{@code android:installLocation}</a>
|
||||
preference in the manifest.</p>
|
||||
|
||||
<p>If your app accesses the following APIs or fields, be aware that the file paths they return
|
||||
will dynamically change when the app is moved between internal and external storage devices.
|
||||
When building file paths, it is strongly recommended that you always call these APIs dynamically.
|
||||
Don’t use hardcoded file paths or persist fully-qualified file paths that were built previously.</p>
|
||||
|
||||
<ul>
|
||||
<li>{@link android.content.Context} methods:
|
||||
<ul>
|
||||
<li>{@link android.content.Context#getFilesDir() getFilesDir()}</li>
|
||||
<li>{@link android.content.Context#getCacheDir() getCacheDir()}</li>
|
||||
<li>{@link android.content.Context#getCodeCacheDir() getCodeCacheDir()}</li>
|
||||
<li>{@link android.content.Context#getDatabasePath(java.lang.String) getDatabasePath()}</li>
|
||||
<li>{@link android.content.Context#getDir(java.lang.String,int) getDir()}</li>
|
||||
<li>{@link android.content.Context#getNoBackupFilesDir() getNoBackupFilesDir()}</li>
|
||||
<li>{@link android.content.Context#getFileStreamPath(java.lang.String) getFileStreamPath()}</li>
|
||||
<li>{@link android.content.Context#getPackageCodePath() getPackageCodePath()}</li>
|
||||
<li>{@link android.content.Context#getPackageResourcePath() getPackageResourcePath()}</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo} fields:
|
||||
<ul>
|
||||
<li>{@link android.content.pm.ApplicationInfo#dataDir dataDir}</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo#sourceDir sourceDir}</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo#nativeLibraryDir nativeLibraryDir}</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo#publicSourceDir publicSourceDir}</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo#splitSourceDirs splitSourceDirs}</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo#splitPublicSourceDirs splitPublicSourceDirs}</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>To debug this feature, you can enable adoption of a USB drive that is
|
||||
connected to an Android device through a USB On-The-Go (OTG) cable, by running this command:</p>
|
||||
|
||||
<pre class="no-prettyprint">
|
||||
$ adb shell sm set-force-adoptable true
|
||||
</pre>
|
||||
|
||||
<h2 id="behavior-apache-http-client">Apache HTTP Client Removal</h2>
|
||||
<p>This release removes support for the Apache HTTP client. If your app is using this client and
|
||||
|
||||
<p>Android 6.0 release removes support for the Apache HTTP client. If your app is using this client and
|
||||
targets Android 2.3 (API level 9) or higher, use the {@link java.net.HttpURLConnection} class
|
||||
instead. This API is more efficient because it reduces network use through transparent compression
|
||||
and response caching, and minimizes power consumption. To continue using the Apache HTTP APIs, you
|
||||
@@ -142,6 +98,9 @@ android {
|
||||
useLibrary 'org.apache.http.legacy'
|
||||
}
|
||||
</pre>
|
||||
|
||||
<h2 id="boringSSL">BoringSSL </h2>
|
||||
|
||||
<p>Android is moving away from OpenSSL to the
|
||||
<a href="https://boringssl.googlesource.com/boringssl/" class="external-link">BoringSSL</a>
|
||||
library. If you’re using the Android NDK in your app, don't link against cryptographic libraries
|
||||
@@ -151,6 +110,44 @@ In addition, you may expose yourself to security vulnerabilities. Instead, modif
|
||||
native code to call the Java cryptography APIs via JNI or to statically link against a
|
||||
cryptography library of your choice.</p>
|
||||
|
||||
<h2 id="behavior-hardware-id">Access to Hardware Identifier</h2>
|
||||
<p>To provide users with greater data protection, starting in this release, Android
|
||||
removes programmatic access to the device’s local hardware identifier for
|
||||
apps using the Wi-Fi and Bluetooth APIs. The
|
||||
{@link android.net.wifi.WifiInfo#getMacAddress() WifiInfo.getMacAddress()} and the
|
||||
{@link android.bluetooth.BluetoothAdapter#getAddress() BluetoothAdapter.getAddress()} methods
|
||||
now return a constant value of {@code 02:00:00:00:00:00}.</p>
|
||||
|
||||
<p>To access the hardware identifiers of nearby external devices via Bluetooth and Wi-Fi scans,
|
||||
your app must now have the following permissions:</p>
|
||||
<ul>
|
||||
<li>{@link android.net.wifi.WifiManager#getScanResults() WifiManager.getScanResults()}:
|
||||
Your app must have {@link android.Manifest.permission#ACCESS_FINE_LOCATION} or
|
||||
{@link android.Manifest.permission#ACCESS_COARSE_LOCATION} permission.</li>
|
||||
<li>{@link android.bluetooth.BluetoothDevice#ACTION_FOUND BluetoothDevice.ACTION_FOUND}:
|
||||
Your app must have {@link android.Manifest.permission#ACCESS_COARSE_LOCATION} permission.</li>
|
||||
<li>{@link android.bluetooth.le.BluetoothLeScanner#startScan(android.bluetooth.le.ScanCallback)
|
||||
BluetoothLeScanner.startScan()}: Your app must have
|
||||
{@link android.Manifest.permission#ACCESS_FINE_LOCATION} or
|
||||
{@link android.Manifest.permission#ACCESS_COARSE_LOCATION} permission.</li>
|
||||
</ul>
|
||||
|
||||
<p class="note"><strong>Note</strong>: When a device running Android 6.0 (API level 23) initiates a
|
||||
background Wi-Fi or Bluetooth scan, the operation is visible to external devices as
|
||||
originating from a randomized MAC address.</p>
|
||||
|
||||
<h2 id="behavior-notifications">Notifications</h2>
|
||||
<p>
|
||||
This release removes the {@code Notification.setLatestEventInfo()} method. Use the
|
||||
{@link android.app.Notification.Builder} class instead to construct notifications. To update a
|
||||
notification repeatedly, reuse the {@link android.app.Notification.Builder} instance. Call the
|
||||
{@link android.app.Notification.Builder#build()} method to get
|
||||
updated {@link android.app.Notification} instances.
|
||||
</p>
|
||||
<p>The {@code adb shell dumpsys notification} command no longer prints out your notification text.
|
||||
Use the {@code adb shell dumpsys notification --noredact} command instead to print out the text
|
||||
in a notification object.</p>
|
||||
|
||||
<h2 id="behavior-audiomanager-Changes">AudioManager Changes</h2>
|
||||
<p>Setting the volume directly or muting specific streams via the {@link android.media.AudioManager}
|
||||
class is no longer supported. The {@link android.media.AudioManager#setStreamSolo(int,boolean)
|
||||
@@ -163,17 +160,6 @@ adjustStreamVolume()} method and pass in the direction value
|
||||
{@link android.media.AudioManager#ADJUST_MUTE} or
|
||||
{@link android.media.AudioManager#ADJUST_UNMUTE}.</p>
|
||||
|
||||
<h2 id="behavior-notifications">Notifications</h2>
|
||||
<p>
|
||||
This release removes the {@code Notification.setLatestEventInfo()} method. Use the
|
||||
{@link android.app.Notification.Builder} class instead to construct notifications. To update a
|
||||
notification repeatedly, reuse the {@link android.app.Notification.Builder} instance. Call the
|
||||
{@link android.app.Notification.Builder#build()} method to get
|
||||
updated {@link android.app.Notification} instances.
|
||||
</p>
|
||||
<p>The {@code adb shell dumpsys notification} command no longer prints out your notification text.
|
||||
Use the {@code adb shell dumpsys notification --noredact} command instead to print out the text
|
||||
in a notification object.</p>
|
||||
|
||||
<h2 id="behavior-test-selection">Text Selection</h2>
|
||||
|
||||
@@ -319,32 +305,6 @@ or higher. To help you detect if a library failed to load, your app should log t
|
||||
call returns. To learn more about handling text relocations, see this
|
||||
<a href="https://wiki.gentoo.org/wiki/Hardened/Textrels_Guide" class="external-link">guide</a>.</p>
|
||||
|
||||
<h2 id="behavior-hardware-id">Access to Hardware Identifier</h2>
|
||||
<p>To provide users with greater data protection, starting in this release, Android
|
||||
removes programmatic access to the device’s local hardware identifier for
|
||||
apps using the Wi-Fi and Bluetooth APIs. The
|
||||
{@link android.net.wifi.WifiInfo#getMacAddress() WifiInfo.getMacAddress()} and the
|
||||
{@link android.bluetooth.BluetoothAdapter#getAddress() BluetoothAdapter.getAddress()} methods
|
||||
now return a constant value of {@code 02:00:00:00:00:00}.</p>
|
||||
|
||||
<p>To access the hardware identifiers of nearby external devices via Bluetooth and Wi-Fi scans,
|
||||
your app must now have the following permissions:</p>
|
||||
<ul>
|
||||
<li>{@link android.net.wifi.WifiManager#getScanResults() WifiManager.getScanResults()}:
|
||||
Your app must have {@link android.Manifest.permission#ACCESS_FINE_LOCATION} or
|
||||
{@link android.Manifest.permission#ACCESS_COARSE_LOCATION} permission.</li>
|
||||
<li>{@link android.bluetooth.BluetoothDevice#ACTION_FOUND BluetoothDevice.ACTION_FOUND}:
|
||||
Your app must have {@link android.Manifest.permission#ACCESS_COARSE_LOCATION} permission.</li>
|
||||
<li>{@link android.bluetooth.le.BluetoothLeScanner#startScan(android.bluetooth.le.ScanCallback)
|
||||
BluetoothLeScanner.startScan()}: Your app must have
|
||||
{@link android.Manifest.permission#ACCESS_FINE_LOCATION} or
|
||||
{@link android.Manifest.permission#ACCESS_COARSE_LOCATION} permission.</li>
|
||||
</ul>
|
||||
|
||||
<p class="note"><strong>Note</strong>: When a device running Android 6.0 (API level 23) initiates a
|
||||
background Wi-Fi or Bluetooth scan, the operation is visible to external devices as
|
||||
originating from a randomized MAC address.</p>
|
||||
|
||||
<h2 id="behavior-apk-validation">APK Validation</h2>
|
||||
<p>The platform now performs stricter validation of APKs. An APK is considered corrupt if a file is
|
||||
declared in the manifest but not present in the APK itself. An APK must be re-signed if any of the
|
||||
|
||||
@@ -3,6 +3,7 @@ page.keywords=marshmallow,sdk,compatibility
|
||||
page.tags=androidm,marshmallow
|
||||
sdk.platform.apiLevel=23
|
||||
page.image=images/cards/card-api-overview_16-9_2x.png
|
||||
page.metaDescription=Get to know the new developer features in Android 6.0 Marshmallow.
|
||||
@jd:body
|
||||
|
||||
|
||||
@@ -15,17 +16,15 @@ page.image=images/cards/card-api-overview_16-9_2x.png
|
||||
<span class="less" style="display:none">show less</span></a></h2>
|
||||
|
||||
<ol id="toc44" class="hide-nested">
|
||||
|
||||
<li><a href="#fingerprint-authentication">Fingerprint Authentication</a></li>
|
||||
<li><a href="#confirm-credential">Confirm Credential</a></li>
|
||||
<li><a href="#app-linking">App Linking</a></li>
|
||||
<li><a href="#backup">Auto Backup for Apps</a></li>
|
||||
<li><a href="#authentication">Authentication</a>
|
||||
<ol>
|
||||
<li><a href="#fingerprint-authentication">Fingerprint Authentication</a></li>
|
||||
<li><a href="#confirm-credential">Confirm Credential</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#direct-share">Direct Share</a></li>
|
||||
<li><a href="#voice-interactions">Voice Interactions</a></li>
|
||||
<li><a href="#assist">Assist API</a></li>
|
||||
<li><a href="#adoptable-storage">Adoptable Storage</a></li>
|
||||
<li><a href="#notifications">Notifications</a></li>
|
||||
<li><a href="#bluetooth-stylus">Bluetooth Stylus Support</a></li>
|
||||
<li><a href="#ble-scanning">Improved Bluetooth Low Energy Scanning</a></li>
|
||||
@@ -82,35 +81,13 @@ Different Platform Versions</a>.</p>
|
||||
<p>For more information about how API levels work, read <a
|
||||
href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">What is API
|
||||
Level?</a></p>
|
||||
<h3>Important behavior changes</h3>
|
||||
|
||||
<p>If you have previously published an app for Android, be aware that your app might be affected
|
||||
by changes in the platform.</p>
|
||||
<h2 id="fingerprint-authentication">Fingerprint Authentication</h2>
|
||||
|
||||
<p>Please see <a href="android-6.0-changes.html">Android 6.0 Changes</a> for complete information.</p>
|
||||
|
||||
<h2 id="app-linking">App Linking</h2>
|
||||
<p>This release enhances Android’s intent system by providing more powerful app linking.
|
||||
This feature allows you to associate an app with a web domain you own. Based on this
|
||||
association, the platform can determine the default app to use to handle a particular
|
||||
web link and skip prompting users to select an app. To learn how to implement this feature, see
|
||||
<a href="{@docRoot}training/app-links/index.html">Handling App Links</a>.
|
||||
|
||||
<h2 id="backup">Auto Backup for Apps</h2>
|
||||
<p>The system now performs automatic full data backup and restore for apps. Your app must target
|
||||
Android 6.0 (API level 23) to enable this behavior; you do not need to add any additional code.
|
||||
If users delete their Google accounts, their backup data is deleted as well. To learn how this
|
||||
feature works and how to configure what to back up on the file system, see
|
||||
<a href="{@docRoot}training/backup/autosyncapi.html">Configuring Auto Backup for Apps</a>.</p>
|
||||
|
||||
<h2 id="authentication">Authentication</h2>
|
||||
<p>This release offers new APIs to let you authenticate users by using their fingerprint scans on
|
||||
supported devices, and check how recently the user was last authenticated using a device unlocking
|
||||
mechanism (such as a lockscreen password). Use these APIs in conjunction with
|
||||
supported devices, Use these APIs in conjunction with
|
||||
the <a href="{@docRoot}training/articles/keystore.html">Android Keystore system</a>.</p>
|
||||
|
||||
<h3 id="fingerprint-authentication">Fingerprint Authentication</h3>
|
||||
|
||||
<p>To authenticate users via fingerprint scan, get an instance of the new
|
||||
{@link android.hardware.fingerprint.FingerprintManager} class and call the
|
||||
{@link android.hardware.fingerprint.FingerprintManager#authenticate(android.hardware.fingerprint.FingerprintManager.CryptoObject, android.os.CancellationSignal, int, android.hardware.fingerprint.FingerprintManager.AuthenticationCallback, android.os.Handler) authenticate()}
|
||||
@@ -158,7 +135,7 @@ adb -e emu finger touch <finger_id>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<h3 id="confirm-credential">Confirm Credential</h3>
|
||||
<h2 id="confirm-credential">Confirm Credential</h2>
|
||||
<p>Your app can authenticate users based on how recently they last unlocked their device. This
|
||||
feature frees users from having to remember additional app-specific passwords, and avoids the need
|
||||
for you to implement your own authentication user interface. Your app should use this feature in
|
||||
@@ -180,6 +157,20 @@ method to re-authenticate the user within your app.
|
||||
<a href="{@docRoot}samples/ConfirmCredential/index.html">
|
||||
Confirm Credential sample</a>.</p>
|
||||
|
||||
<h2 id="app-linking">App Linking</h2>
|
||||
<p>This release enhances Android’s intent system by providing more powerful app linking.
|
||||
This feature allows you to associate an app with a web domain you own. Based on this
|
||||
association, the platform can determine the default app to use to handle a particular
|
||||
web link and skip prompting users to select an app. To learn how to implement this feature, see
|
||||
<a href="{@docRoot}training/app-links/index.html">Handling App Links</a>.
|
||||
|
||||
<h2 id="backup">Auto Backup for Apps</h2>
|
||||
<p>The system now performs automatic full data backup and restore for apps. Your app must target
|
||||
Android 6.0 (API level 23) to enable this behavior; you do not need to add any additional code.
|
||||
If users delete their Google accounts, their backup data is deleted as well. To learn how this
|
||||
feature works and how to configure what to back up on the file system, see
|
||||
<a href="{@docRoot}training/backup/autosyncapi.html">Configuring Auto Backup for Apps</a>.</p>
|
||||
|
||||
<h2 id="direct-share">Direct Share</h2>
|
||||
|
||||
<img src="{@docRoot}images/android-6.0/direct-share-screen.png"
|
||||
@@ -275,6 +266,53 @@ callback and, optionally, the new
|
||||
callback.
|
||||
</ol>
|
||||
|
||||
<h2 id="adoptable-storage">Adoptable Storage Devices</h2>
|
||||
<p>
|
||||
With this release, users can <em>adopt</em> external storage devices such as SD cards. Adopting an
|
||||
external storage device encrypts and formats the device to behave like internal storage. This
|
||||
feature allows users to move both apps and private data of those apps between storage devices. When
|
||||
moving apps, the system respects the
|
||||
<a href="{@docRoot}guide/topics/manifest/manifest-element.html#install">{@code android:installLocation}</a>
|
||||
preference in the manifest.</p>
|
||||
|
||||
<p>If your app accesses the following APIs or fields, be aware that the file paths they return
|
||||
will dynamically change when the app is moved between internal and external storage devices.
|
||||
When building file paths, it is strongly recommended that you always call these APIs dynamically.
|
||||
Don’t use hardcoded file paths or persist fully-qualified file paths that were built previously.</p>
|
||||
|
||||
<ul>
|
||||
<li>{@link android.content.Context} methods:
|
||||
<ul>
|
||||
<li>{@link android.content.Context#getFilesDir() getFilesDir()}</li>
|
||||
<li>{@link android.content.Context#getCacheDir() getCacheDir()}</li>
|
||||
<li>{@link android.content.Context#getCodeCacheDir() getCodeCacheDir()}</li>
|
||||
<li>{@link android.content.Context#getDatabasePath(java.lang.String) getDatabasePath()}</li>
|
||||
<li>{@link android.content.Context#getDir(java.lang.String,int) getDir()}</li>
|
||||
<li>{@link android.content.Context#getNoBackupFilesDir() getNoBackupFilesDir()}</li>
|
||||
<li>{@link android.content.Context#getFileStreamPath(java.lang.String) getFileStreamPath()}</li>
|
||||
<li>{@link android.content.Context#getPackageCodePath() getPackageCodePath()}</li>
|
||||
<li>{@link android.content.Context#getPackageResourcePath() getPackageResourcePath()}</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo} fields:
|
||||
<ul>
|
||||
<li>{@link android.content.pm.ApplicationInfo#dataDir dataDir}</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo#sourceDir sourceDir}</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo#nativeLibraryDir nativeLibraryDir}</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo#publicSourceDir publicSourceDir}</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo#splitSourceDirs splitSourceDirs}</li>
|
||||
<li>{@link android.content.pm.ApplicationInfo#splitPublicSourceDirs splitPublicSourceDirs}</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>To debug this feature, you can enable adoption of a USB drive that is
|
||||
connected to an Android device through a USB On-The-Go (OTG) cable, by running this command:</p>
|
||||
|
||||
<pre class="no-prettyprint">
|
||||
$ adb shell sm set-force-adoptable true
|
||||
</pre>
|
||||
|
||||
<h2 id="notifications">Notifications</h2>
|
||||
<p>This release adds the following API changes for notifications:</p>
|
||||
<ul>
|
||||
|
||||
@@ -161,34 +161,27 @@ This is the Android SDK Preview License Agreement (the “License Agreement”).
|
||||
|
||||
<div id="landing">
|
||||
|
||||
<div id="qv-wrapper">
|
||||
<div id="qv">
|
||||
<h2>In this document</h2>
|
||||
<ol>
|
||||
<li><a href="#images">Hardware System Images</a></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<p>
|
||||
The Android M Preview SDK includes development tools, Android system images, and library files to
|
||||
help you test your app and the new APIs coming in the next release of the platform. This document
|
||||
describes how to get the downloadable components of the preview for testing your app.
|
||||
The Android M Developer Preview 3 system images below are available to you for a limited
|
||||
time for final testing. Once the Android 6.0 release is final (early October),
|
||||
the Preview downloads will no longer be available. Instead,
|
||||
you'll be able to download the official Android 6.0 images from the
|
||||
<a href="https://developers.google.com/android/nexus/images?hl=en">Nexus
|
||||
Factory Images</a> page.
|
||||
</p>
|
||||
|
||||
<p class="note"><strong>Note:</strong> If you previously flashed a device to
|
||||
an Android M Developer Preview image, that device will not automatically
|
||||
get the update to the final Android 6.0 build by OTA. To get the final Android 6.0
|
||||
build, you must download it from the
|
||||
<a href="https://developers.google.com/android/nexus/images?hl=en">Nexus
|
||||
Factory Images</a> page when available and then flash it
|
||||
manually to your device.</p>
|
||||
|
||||
<h2 id="images">Hardware System Images</h2>
|
||||
|
||||
<p>
|
||||
These system images allow you to install a preview version of the platform on a physical device for
|
||||
testing. By configuring a device with one of these images, you can install and test your app to
|
||||
see how it performs on the next version of the platform. The process of installing a system image
|
||||
on a device <em>removes all data from the device</em>, so you should backup your data before
|
||||
installing a system image.
|
||||
</p>
|
||||
|
||||
<p class="warning">
|
||||
<b>Warning:</b> The following Android system images are previews and are subject to change. Your
|
||||
<p>The following Android system images are previews and are subject to change. Your
|
||||
use of these system images is governed by the Android SDK Preview License Agreement. The Android
|
||||
preview system images are not stable releases, and may contain errors and defects that can result
|
||||
in damage to your computer systems, devices, and data. The preview Android system images are not
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
page.title=Android 6.0
|
||||
page.tags="marshmallow",
|
||||
meta.tags=marshamallow,M,androidm
|
||||
page.title=Android 6.0 Marshmallow
|
||||
page.tags="marshmallow"
|
||||
meta.tags="marshamallow","android60"
|
||||
fullpage=true
|
||||
section.landing=true
|
||||
header.hide=1
|
||||
@@ -16,15 +16,15 @@ footer.hide=1
|
||||
{@docRoot}images/home/devices-hero_620px_2x.png 2x">
|
||||
</div>
|
||||
<div class="col-7of16 col-pull-9of16">
|
||||
<h1 class="dac-hero-title">Android 6.0</h1>
|
||||
<h1 class="dac-hero-title">Android 6.0 Marshmallow</h1>
|
||||
<p class="dac-hero-description">
|
||||
<strong>The official Android 6.0 SDK is now available!</strong>
|
||||
<strong>Get your apps ready for Android 6.0 Marshmallow!</strong>
|
||||
Explore what's new — <strong>runtime permissions</strong>,
|
||||
<strong>Doze</strong> and <strong>App Standby</strong> power-saving features, new
|
||||
<strong>assist technology</strong>, and more.
|
||||
</p>
|
||||
|
||||
<a class="dac-hero-cta" href="{@docRoot}about/versions/marshmallow/android-6.0.html">
|
||||
<a class="dac-hero-cta" href="{@docRoot}about/versions/marshmallow/android-6.0-changes.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
Get started
|
||||
</a><br>
|
||||
@@ -46,37 +46,6 @@ footer.hide=1
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<section class="dac-section dac-gray" id="resources"><div class="wrap">
|
||||
<h1 class="dac-section-title">Resources</h1>
|
||||
<div class="dac-section-subtitle">
|
||||
Essential information to help you get your apps ready for Android 6.0.
|
||||
</div>
|
||||
|
||||
<div class="resource-widget resource-flow-layout col-16"
|
||||
data-query="collection:marshmallow/landing/more"
|
||||
data-cardSizes="6x6"
|
||||
data-initial-results="3"></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="dac-section" id="videos"><div class="wrap">
|
||||
<h1 class="dac-section-title">Videos</h1>
|
||||
<div class="dac-section-subtitle">
|
||||
Watch these videos to understand and use the features provided in Android
|
||||
Marshmallow.
|
||||
</div>
|
||||
|
||||
<div class="resource-widget resource-flow-layout col-16"
|
||||
data-query="collection:marshmallow/landing/videos"
|
||||
data-sortOrder="-timestamp"
|
||||
data-cardSizes="6x6"
|
||||
data-initial-results="3"></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="dac-section dac-gray dac-small dac-invert" id="latest"><div class="wrap">
|
||||
<h2 class="norule">Latest</h2>
|
||||
<div class="resource-widget resource-flow-layout col-16"
|
||||
@@ -87,3 +56,29 @@ footer.hide=1
|
||||
data-initial-results="3">
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="dac-section" id="videos"><div class="wrap">
|
||||
<h1 class="dac-section-title">Videos</h1>
|
||||
<div class="dac-section-subtitle">
|
||||
New Android capabilities and the right way to use them in your apps.
|
||||
</div>
|
||||
|
||||
<div class="resource-widget resource-flow-layout col-16"
|
||||
data-query="collection:marshmallow/landing/videos"
|
||||
data-cardSizes="6x6"
|
||||
data-initial-results="6"></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="dac-section dac-gray" id="resources"><div class="wrap">
|
||||
<h1 class="dac-section-title">Resources</h1>
|
||||
<div class="dac-section-subtitle">
|
||||
Essential information to help you get your apps ready for Android 6.0.
|
||||
</div>
|
||||
|
||||
<div class="resource-widget resource-flow-layout col-16"
|
||||
data-query="collection:marshmallow/landing/more"
|
||||
data-cardSizes="6x6"
|
||||
data-initial-results="6"></div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -1,12 +1,15 @@
|
||||
page.title=Samples
|
||||
page.image=images/cards/samples-new_2x.png
|
||||
page.tags=androidm,marshmallow
|
||||
page.keywords=marshmallow,androidm,samples
|
||||
page.image=images/cards/card-build_16x9_2x.png
|
||||
page.tags=marshmallow, samples
|
||||
meta.tags=marshmallow,androidm,samples
|
||||
page.metaDescription=Code to get your started with Android 6.0 APIs.
|
||||
@jd:body
|
||||
|
||||
<p>
|
||||
The following code samples are provided for Android 6.0 (API level 23). To download
|
||||
the samples in Android Studio, select the <b>File > Import Samples</b> menu option.
|
||||
Download or browse sample projects to get started with Android 6.0
|
||||
APIs (API level 23). You can download the samples
|
||||
directly from Android Studio — just select the <b>File > Import
|
||||
Samples</b> menu option and pick the sample you want.
|
||||
</p>
|
||||
|
||||
<p class="note">
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
page.title=Android 6.0 Testing Guide
|
||||
page.image=images/cards/card-build_16x9_2x.png
|
||||
page.keywords=marshmallow,androidm,testing
|
||||
|
||||
@jd:body
|
||||
|
||||
<p>
|
||||
Android 6.0 (API level 23) includes a number of APIs and behavior changes that can
|
||||
impact your app, as described in the <a href="{@docRoot}about/versions/marshmallow/android-6.0.html">API
|
||||
Overview</a> and <a href="{@docRoot}about/versions/masrhmallow/android-6.0-changes.html">Behavior Changes</a>.
|
||||
In testing your app with the preview, there are some specific system changes that you should
|
||||
focus on to ensure that users have a good experience.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The following resources describe what and how to test Android 6.0 (API level 23) features with
|
||||
your app. You should prioritize testing of these specific Android 6.0 (API level 23) features,
|
||||
due to their high potential impact on your app's behavior:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="{@docRoot}training/permissions/best-practices.html#testing">Permissions</a>:
|
||||
Information on the behavior of runtime permissions, of runtime permissions, testing, and best
|
||||
practices.
|
||||
</li>
|
||||
<li><a href="{@docRoot}training/monitoring-device-state/doze-standby.html#testing_doze_and_app_standby">Doze and App Standby</a>:
|
||||
Information on the behavior of Doze and App Standby, testing, and best practices.
|
||||
</li>
|
||||
<li><a href="{@docRoot}training/backup/autosyncapi.html#testing">Auto Backup for Apps and Device Identifiers</a>:
|
||||
Information on the behavior of Auto Backup for Apps, testing, and best practices.
|
||||
</li>
|
||||
</ul>
|
||||
@@ -23,8 +23,10 @@ page.customHeadTag=<meta name="google-site-verification" content="sa-bIAI6GKvct3
|
||||
</div>
|
||||
<div class="col-6of16 col-push-1of16">
|
||||
<p class="dac-hero-description" style="color:white"><strong>The
|
||||
official Android 6.0 SDK is now available!</strong> Update to
|
||||
Android Marshmallow to get the latest features</p>
|
||||
official Android 6.0 SDK is now available!</strong>
|
||||
Explore what's new — runtime permissions,
|
||||
Doze and App Standby power-saving features, new
|
||||
assist technology, and more.</p>
|
||||
|
||||
<a class="dac-hero-cta" href="{@docRoot}about/versions/marshmallow/index.html">
|
||||
<span class="dac-sprite dac-auto-chevron"></span>
|
||||
|
||||
@@ -1643,23 +1643,27 @@ var RESOURCE_COLLECTIONS = {
|
||||
"marshmallow/landing/resources": {
|
||||
"title": "",
|
||||
"resources": [
|
||||
"about/versions/marshmallow/android-6.0-changes.html",
|
||||
"about/versions/marshmallow/android-6.0.html",
|
||||
"about/versions/marshmallow/download.html",
|
||||
"about/versions/marshmallow/samples.html"
|
||||
]
|
||||
},
|
||||
"marshmallow/landing/videos": {
|
||||
"title": "",
|
||||
"resources": [
|
||||
"https://www.youtube.com/watch?v=yYU4DHLwoRk",
|
||||
"https://www.youtube.com/watch?v=ndBdf1_oOGA",
|
||||
"https://www.youtube.com/watch?v=C8lUdPVSzDk",
|
||||
"https://www.youtube.com/watch?v=VOn7VrTRlA4",
|
||||
"https://www.youtube.com/watch?v=HXacyy0HSW0",
|
||||
"https://youtu.be/U9tw5ypqEN0",
|
||||
"https://youtu.be/N72ksDKrX6c",
|
||||
"https://youtu.be/iZqDdvhTZj0",
|
||||
"https://www.youtube.com/watch?v=vcSj8ln-BlE",
|
||||
"https://youtu.be/LQoohRwojmw",
|
||||
"https://www.youtube.com/watch?v=VOn7VrTRlA4",
|
||||
"https://youtu.be/5sCQjeGoE7M",
|
||||
"https://www.youtube.com/watch?v=C8lUdPVSzDk",
|
||||
"https://www.youtube.com/watch?v=HXacyy0HSW0",
|
||||
"https://www.youtube.com/watch?v=OW1A4XFRuyc",
|
||||
"https://www.youtube.com/watch?v=j3QC6hcpy90",
|
||||
"https://www.youtube.com/watch?v=f17qe9vZ8RM",
|
||||
"https://www.youtube.com/watch?v=j3QC6hcpy90"
|
||||
"https://www.youtube.com/watch?v=ndBdf1_oOGA"
|
||||
]
|
||||
},
|
||||
"marshmallow/landing/more": {
|
||||
@@ -1668,9 +1672,10 @@ var RESOURCE_COLLECTIONS = {
|
||||
"about/versions/marshmallow/android-6.0-changes.html",
|
||||
"training/permissions/requesting.html",
|
||||
"training/backup/autosyncapi.html",
|
||||
"training/app-links/index.html",
|
||||
"training/monitoring-device-state/doze-standby.html",
|
||||
"about/versions/marshmallow/testing.html"
|
||||
"training/app-links/index.html",
|
||||
"training/articles/assistant.html",
|
||||
"training/testing/performance.html"
|
||||
]
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3146,7 +3146,78 @@ DISTRIBUTE_RESOURCES = DISTRIBUTE_RESOURCES.concat([
|
||||
"lang":"en",
|
||||
"type":"Video"
|
||||
},
|
||||
|
||||
{
|
||||
"title":"Introduction to Doze",
|
||||
"titleFriendly":"",
|
||||
"summary":"An overview of Doze and how to make sure that your app behaves as expected both in and out of Doze mode. ",
|
||||
"url":"https://youtu.be/N72ksDKrX6c",
|
||||
"group":"",
|
||||
"keywords": ["Marshmallow"],
|
||||
"tags": [],
|
||||
"image":"http://i1.ytimg.com/vi/N72ksDKrX6c/maxresdefault.jpg",
|
||||
"lang":"en",
|
||||
"type":"Video"
|
||||
},
|
||||
{
|
||||
"title":"The Nexus 5X, Nexus 6P and Android Marshmallow",
|
||||
"titleFriendly":"",
|
||||
"summary":"The new Nexus 5X and Nexus 6P along with some of the most significant developer features in the latest Android release,.",
|
||||
"url":"https://youtu.be/U9tw5ypqEN0",
|
||||
"group":"",
|
||||
"keywords": ["Marshmallow"],
|
||||
"tags": [],
|
||||
"image":"http://i1.ytimg.com/vi/U9tw5ypqEN0/maxresdefault.jpg",
|
||||
"lang":"en",
|
||||
"type":"Video"
|
||||
},
|
||||
{
|
||||
"title":"Asking For Permission Fine",
|
||||
"titleFriendly":"",
|
||||
"summary":"Picking the right way and time to ask for a permission is critical to it being granted. ",
|
||||
"url":"https://youtu.be/iZqDdvhTZj0",
|
||||
"group":"",
|
||||
"keywords": ["Marshmallow"],
|
||||
"tags": [],
|
||||
"image":"http://i1.ytimg.com/vi/iZqDdvhTZj0/maxresdefault.jpg",
|
||||
"lang":"en",
|
||||
"type":"Video"
|
||||
},
|
||||
{
|
||||
"title":"Data Binding Library",
|
||||
"titleFriendly":"",
|
||||
"summary":"Data Binding Library is a way to write declarative layouts and minimize the glue code necessary to bind your application logic and layouts. ",
|
||||
"url":"https://youtu.be/5sCQjeGoE7M",
|
||||
"group":"",
|
||||
"keywords": ["Marshmallow"],
|
||||
"tags": [],
|
||||
"image":"http://i1.ytimg.com/vi/5sCQjeGoE7M/maxresdefault.jpg",
|
||||
"lang":"en",
|
||||
"type":"Video"
|
||||
},
|
||||
{
|
||||
"title":"App Links",
|
||||
"titleFriendly":"",
|
||||
"summary":"App Links is a new feature of Android Marshmallow that brings a faster way of opening website links for domains that you own.",
|
||||
"url":"https://youtu.be/LQoohRwojmw",
|
||||
"group":"",
|
||||
"keywords": ["Marshmallow"],
|
||||
"tags": [],
|
||||
"image":"http://i1.ytimg.com/vi/LQoohRwojmw/maxresdefault.jpg",
|
||||
"lang":"en",
|
||||
"type":"Video"
|
||||
},
|
||||
{
|
||||
"title":"Android M Permissions",
|
||||
"titleFriendly":"",
|
||||
"summary":"An introduction to Android M runtime permissions in Android M from Google I/O 2015. ",
|
||||
"url":"https://www.youtube.com/watch?v=f17qe9vZ8RM",
|
||||
"group":"",
|
||||
"keywords": ["Marshmallow"],
|
||||
"tags": [],
|
||||
"image":"http://i1.ytimg.com/vi/f17qe9vZ8RM/maxresdefault.jpg",
|
||||
"lang":"en",
|
||||
"type":"Video"
|
||||
},
|
||||
{
|
||||
"lang": "ja",
|
||||
"title": "Gaming Everywhere",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
page.title=Requesting Permissions at Run Time
|
||||
page.tags="runtime permissions",androidm,marshmallow
|
||||
helpoutsWidget=true
|
||||
|
||||
page.image=images/permissions_check.png
|
||||
page.metaDescription=Learn about runtime permissions and how they make it easier for users to install and upgrade your apps.
|
||||
@jd:body
|
||||
|
||||
<div id="tb-wrapper">
|
||||
|
||||
Reference in New Issue
Block a user