Merge "docs: fix broken links in .jd docs" into ics-mr1
This commit is contained in:
@@ -154,7 +154,7 @@ Highlights</a></td></tr>
|
|||||||
<td>2</td>
|
<td>2</td>
|
||||||
<td>{@link android.os.Build.VERSION_CODES#BASE_1_1}</td><td></td></tr>
|
<td>{@link android.os.Build.VERSION_CODES#BASE_1_1}</td><td></td></tr>
|
||||||
|
|
||||||
<tr><td><a href="{@docRoot}sdk/android-1.0.html">Android 1.0</td>
|
<tr><td>Android 1.0</td>
|
||||||
<td>1</td>
|
<td>1</td>
|
||||||
<td>{@link android.os.Build.VERSION_CODES#BASE}</td>
|
<td>{@link android.os.Build.VERSION_CODES#BASE}</td>
|
||||||
<td></td></tr>
|
<td></td></tr>
|
||||||
|
|||||||
@@ -79,10 +79,8 @@ located in <strong>Settings > Developer options</strong>).</p>
|
|||||||
<a href="{@docRoot}sdk/oem-usb.html">OEM USB Drivers</a> document.</li>
|
<a href="{@docRoot}sdk/oem-usb.html">OEM USB Drivers</a> document.</li>
|
||||||
<li>If you're developing on Mac OS X, it just works. Skip this step.</li>
|
<li>If you're developing on Mac OS X, it just works. Skip this step.</li>
|
||||||
|
|
||||||
<li>If you're developing on Ubuntu Linux, you need to add a <a
|
<li>If you're developing on Ubuntu Linux, you need to add a
|
||||||
href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html">
|
<code>udev</code> rules file that contains a USB configuration for each type of device
|
||||||
<code>udev</code></a>
|
|
||||||
rules file that contains a USB configuration for each type of device
|
|
||||||
you want to use for development. In the rules file, each device manufacturer
|
you want to use for development. In the rules file, each device manufacturer
|
||||||
is identified by a unique vendor ID, as specified by the
|
is identified by a unique vendor ID, as specified by the
|
||||||
<code>ATTR{idVendor}</code> property. For a list of vendor IDs, see <a
|
<code>ATTR{idVendor}</code> property. For a list of vendor IDs, see <a
|
||||||
|
|||||||
@@ -480,7 +480,7 @@ on disk images, use <code>-help-disk-images</code>.</p>
|
|||||||
<td>Enable the root shell (as in <code>-shell</code> and specify the QEMU character
|
<td>Enable the root shell (as in <code>-shell</code> and specify the QEMU character
|
||||||
device to use for communication with the shell.</td>
|
device to use for communication with the shell.</td>
|
||||||
<td><device> must be a QEMU device type. See the documentation for '-serial <em>dev</em>' at
|
<td><device> must be a QEMU device type. See the documentation for '-serial <em>dev</em>' at
|
||||||
<a href="http://www.nongnu.org/qemu/qemu-doc.html#SEC10">http://www.bellard.org/qemu/qemu-doc.html#SEC10</a>
|
<a href="http://wiki.qemu.org/download/qemu-doc.html">http://wiki.qemu.org/download/qemu-doc.html</a>
|
||||||
for a list of device types.
|
for a list of device types.
|
||||||
|
|
||||||
<p>Here are some examples: </p>
|
<p>Here are some examples: </p>
|
||||||
@@ -619,7 +619,7 @@ scale in direct relationship with <delay> values.</p>
|
|||||||
<td>Use this command to emulate an NMEA-compatible GPS unit connected to
|
<td>Use this command to emulate an NMEA-compatible GPS unit connected to
|
||||||
an external character device or socket. The format of <code><device></code> must be QEMU-specific
|
an external character device or socket. The format of <code><device></code> must be QEMU-specific
|
||||||
serial device specification. See the documentation for 'serial -dev' at
|
serial device specification. See the documentation for 'serial -dev' at
|
||||||
<a href="http://www.bellard.org/qemu/qemu-doc.html#SEC10">http://www.bellard.org/qemu/qemu-doc.html#SEC10</a>.
|
<a href="http://wiki.qemu.org/download/qemu-doc.html">http://wiki.qemu.org/download/qemu-doc.html</a>.
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -638,7 +638,7 @@ scale in direct relationship with <delay> values.</p>
|
|||||||
<td>Redirect radio mode to the specified character device.</td>
|
<td>Redirect radio mode to the specified character device.</td>
|
||||||
<td>The format of <code><device></code> must be QEMU-specific
|
<td>The format of <code><device></code> must be QEMU-specific
|
||||||
serial device specification. See the documentation for 'serial -dev' at
|
serial device specification. See the documentation for 'serial -dev' at
|
||||||
<a href="http://www.bellard.org/qemu/qemu-doc.html#SEC10">http://www.bellard.org/qemu/qemu-doc.html#SEC10</a>.
|
<a href="http://wiki.qemu.org/download/qemu-doc.html">http://wiki.qemu.org/download/qemu-doc.html</a>.
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ android:targetSdkVersion}</a> set to {@code "4"} or higher, then this document i
|
|||||||
default, an application written for Android 1.5 or below that does not set the <a
|
default, an application written for Android 1.5 or below that does not set the <a
|
||||||
href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
|
href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
|
||||||
android:targetSdkVersion}</a> set to {@code "4"} or higher runs in <a
|
android:targetSdkVersion}</a> set to {@code "4"} or higher runs in <a
|
||||||
href="screen-compat-mode">screen compatibility mode</a> when on a device with a screen larger than
|
href="screen-compat-mode.html">screen compatibility mode</a> when on a device with a screen larger than
|
||||||
the
|
the
|
||||||
<em>normal</em> screen size (basically, the system displays the application in a small window
|
<em>normal</em> screen size (basically, the system displays the application in a small window
|
||||||
that is roughly the size of the normal screen size).</p>
|
that is roughly the size of the normal screen size).</p>
|
||||||
|
|||||||
@@ -126,8 +126,8 @@ applications.</p>
|
|||||||
<p>Use of <a
|
<p>Use of <a
|
||||||
href="{@docRoot}reference/android/content/Context.html#MODE_WORLD_WRITEABLE">
|
href="{@docRoot}reference/android/content/Context.html#MODE_WORLD_WRITEABLE">
|
||||||
world writable</a> or <a
|
world writable</a> or <a
|
||||||
href="{@docRoot}reference/android/content/Context.html#MODE_WORLD_READABLE
|
href="{@docRoot}reference/android/content/Context.html#MODE_WORLD_READABLE">world
|
||||||
">world readable</a> files for IPC is discouraged because it does not provide
|
readable</a> files for IPC is discouraged because it does not provide
|
||||||
the ability to limit data access to particular applications, nor does it
|
the ability to limit data access to particular applications, nor does it
|
||||||
provide any control on data format. As an alternative, you might consider using
|
provide any control on data format. As an alternative, you might consider using
|
||||||
a ContentProvider which provides read and write permissions, and can make
|
a ContentProvider which provides read and write permissions, and can make
|
||||||
@@ -199,10 +199,10 @@ ContentProvider</a></code>.</p>
|
|||||||
<p>ContentProviders can also provide more granular access by declaring the <a
|
<p>ContentProviders can also provide more granular access by declaring the <a
|
||||||
href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">
|
href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">
|
||||||
grantUriPermissions</a> element and using the <code><a
|
grantUriPermissions</a> element and using the <code><a
|
||||||
href="{@docRoot}reference/android/content/Intent.html#FLAG_GRANT_READ_URI_PERMIS
|
href="{@docRoot}reference/android/content/Intent.html#FLAG_GRANT_READ_URI_PERMISSION">FLAG_GRANT_READ_URI_PERMISSION</a></code>
|
||||||
SION">FLAG_GRANT_READ_URI_PERMISSION</a></code> and <code><a
|
and <code><a
|
||||||
href="{@docRoot}reference/android/content/Intent.html#FLAG_GRANT_WRITE_URI_PERMI
|
href="{@docRoot}reference/android/content/Intent.html#FLAG_GRANT_WRITE_URI_PERMISSION">FLAG_GRANT_WRITE_URI_PERMISSION</a></code>
|
||||||
SSION">FLAG_GRANT_WRITE_URI_PERMISSION</a></code> flags in the Intent object
|
flags in the Intent object
|
||||||
that activates the component. The scope of these permissions can be further
|
that activates the component. The scope of these permissions can be further
|
||||||
limited by the <code><a
|
limited by the <code><a
|
||||||
href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">
|
href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">
|
||||||
@@ -211,14 +211,9 @@ grant-uri-permission element</a></code>.</p>
|
|||||||
<p>When accessing a <code>
|
<p>When accessing a <code>
|
||||||
<a href="{@docRoot}reference/android/content/ContentProvider.html">
|
<a href="{@docRoot}reference/android/content/ContentProvider.html">
|
||||||
ContentProvider</a></code>, use parameterized query methods such as <code>
|
ContentProvider</a></code>, use parameterized query methods such as <code>
|
||||||
<a href="{@docRoot}reference/android/content/ContentProvider.html#query(android.net
|
<a href="{@docRoot}reference/android/content/ContentProvider.html#query(android.net.Uri,%20java.lang.String[],%20java.lang.String,%20java.lang.String[],%20java.lang.String)">query()</a></code>, <code><a
|
||||||
.Uri,%20java.lang.String[],%20java.lang.String,%20java.lang.String[],%20java.lan
|
href="{@docRoot}reference/android/content/ContentProvider.html#update(android.net.Uri,%20android.content.ContentValues,%20java.lang.String,%20java.lang.String[])">update()</a></code>, and <code><a
|
||||||
g.String)">query()</a></code>, <code><a
|
href="{@docRoot}reference/android/content/ContentProvider.html#delete(android.net.Uri,%20java.lang.String,%20java.lang.String[])">delete()</a></code> to avoid
|
||||||
href="{@docRoot}reference/android/content/ContentProvider.html#update(android.ne
|
|
||||||
t.Uri,%20android.content.ContentValues,%20java.lang.String,%20java.lang.String[]
|
|
||||||
)">update()</a></code>, and <code><a
|
|
||||||
href="{@docRoot}reference/android/content/ContentProvider.html#delete(android.ne
|
|
||||||
t.Uri,%20java.lang.String,%20java.lang.String[])">delete()</a></code> to avoid
|
|
||||||
potential <a href="http://en.wikipedia.org/wiki/SQL_injection">SQL
|
potential <a href="http://en.wikipedia.org/wiki/SQL_injection">SQL
|
||||||
Injection</a> from untrusted data. Note that using parameterized methods is not
|
Injection</a> from untrusted data. Note that using parameterized methods is not
|
||||||
sufficient if the <code>selection</code> is built by concatenating user data
|
sufficient if the <code>selection</code> is built by concatenating user data
|
||||||
@@ -249,8 +244,9 @@ href="{@docRoot}reference/android/R.styleable.html#AndroidManifestActivity">
|
|||||||
Activities</a>, and <a
|
Activities</a>, and <a
|
||||||
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestService">
|
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestService">
|
||||||
Services</a> are all declared in the application manifest. If your IPC mechanism is
|
Services</a> are all declared in the application manifest. If your IPC mechanism is
|
||||||
not intended for use by other applications, set the android:exported property
|
not intended for use by other applications, set the <a
|
||||||
to false. This is useful for applications that consist of multiple processes
|
href="{@docRoot}guide/topics/manifest/service-element.html#exported">{@code android:exported}</a>
|
||||||
|
property to false. This is useful for applications that consist of multiple processes
|
||||||
within the same UID, or if you decide late in development that you do not
|
within the same UID, or if you decide late in development that you do not
|
||||||
actually want to expose functionality as IPC but you don’t want to rewrite
|
actually want to expose functionality as IPC but you don’t want to rewrite
|
||||||
the code.</p>
|
the code.</p>
|
||||||
@@ -276,11 +272,10 @@ activity.</p>
|
|||||||
|
|
||||||
<p>Intents are the preferred mechanism for asynchronous IPC in Android.
|
<p>Intents are the preferred mechanism for asynchronous IPC in Android.
|
||||||
Depending on your application requirements, you might use <code><a
|
Depending on your application requirements, you might use <code><a
|
||||||
href="{@docRoot}reference/android/content/Context.html#sendBroadcast(android.con
|
href="{@docRoot}reference/android/content/Context.html#sendBroadcast(android.content.Intent)">sendBroadcast()</a></code>,
|
||||||
tent.Intent)">sendBroadcast()</a></code>, <code><a
|
<code><a
|
||||||
href="{@docRoot}reference/android/content/Context.html#sendOrderedBroadcast(andr
|
href="{@docRoot}reference/android/content/Context.html#sendOrderedBroadcast(android.content.Intent,%20java.lang.String)">sendOrderedBroadcast()</a></code>,
|
||||||
oid.content.Intent,%20java.lang.String)">sendOrderedBroadcast()</a></code>, or
|
or direct an intent to a specific application component.</p>
|
||||||
direct an intent to a specific application component.</p>
|
|
||||||
|
|
||||||
<p>Note that ordered broadcasts can be “consumed” by a recipient, so they
|
<p>Note that ordered broadcasts can be “consumed” by a recipient, so they
|
||||||
may not be delivered to all applications. If you are sending an Intent where
|
may not be delivered to all applications. If you are sending an Intent where
|
||||||
@@ -311,14 +306,13 @@ and/or access controls on a specific binder interface, those controls must be
|
|||||||
explicitly added as code in the interface.</p>
|
explicitly added as code in the interface.</p>
|
||||||
|
|
||||||
<p>If providing an interface that does require access controls, use <code><a
|
<p>If providing an interface that does require access controls, use <code><a
|
||||||
href="{@docRoot}reference/android/content/Context.html#checkCallingPermission(ja
|
href="{@docRoot}reference/android/content/Context.html#checkCallingPermission(java.lang.String)">checkCallingPermission()</a></code>
|
||||||
va.lang.String)">checkCallingPermission()</a></code> to verify whether the
|
to verify whether the
|
||||||
caller of the Binder has a required permission. This is especially important
|
caller of the Binder has a required permission. This is especially important
|
||||||
before accessing a Service on behalf of the caller, as the identify of your
|
before accessing a Service on behalf of the caller, as the identify of your
|
||||||
application is passed to other interfaces. If invoking an interface provided
|
application is passed to other interfaces. If invoking an interface provided
|
||||||
by a Service, the <code><a
|
by a Service, the <code><a
|
||||||
href="{@docRoot}reference/android/content/Context.html#bindService(android.conte
|
href="{@docRoot}reference/android/content/Context.html#bindService(android.content.Intent,%20android.content.ServiceConnection,%20int)">bindService()</a></code>
|
||||||
nt.Intent,%20android.content.ServiceConnection,%20int)">bindService()</a></code>
|
|
||||||
invocation may fail if you do not have permission to access the given Service.
|
invocation may fail if you do not have permission to access the given Service.
|
||||||
If calling an interface provided locally by your own application, it may be
|
If calling an interface provided locally by your own application, it may be
|
||||||
useful to use the <code><a
|
useful to use the <code><a
|
||||||
@@ -332,14 +326,14 @@ an intent.</p>
|
|||||||
|
|
||||||
<p>By default, receivers are exported and can be invoked by any other
|
<p>By default, receivers are exported and can be invoked by any other
|
||||||
application. If your <code><a
|
application. If your <code><a
|
||||||
href={@docRoot}reference/android/content/BroadcastReceiver.html">
|
href="{@docRoot}reference/android/content/BroadcastReceiver.html">
|
||||||
BroadcastReceivers</a></code> is intended for use by other applications, you
|
BroadcastReceivers</a></code> is intended for use by other applications, you
|
||||||
may want to apply security permissions to receivers using the <code><a
|
may want to apply security permissions to receivers using the <code><a
|
||||||
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestReceiver">
|
href="{@docRoot}guide/topics/manifest/receiver-element.html">
|
||||||
<receiver></a></code> element within the application manifest. This will
|
<receiver></a></code> element within the application manifest. This will
|
||||||
prevent applications without appropriate permissions from sending an intent to
|
prevent applications without appropriate permissions from sending an intent to
|
||||||
the <code><a
|
the <code><a
|
||||||
href={@docRoot}reference/android/content/BroadcastReceiver.html">
|
href="{@docRoot}reference/android/content/BroadcastReceiver.html">
|
||||||
BroadcastReceivers</a></code>.</p>
|
BroadcastReceivers</a></code>.</p>
|
||||||
|
|
||||||
<h3>Using Services</h3>
|
<h3>Using Services</h3>
|
||||||
@@ -349,19 +343,21 @@ use. Each service class must have a corresponding <service> declaration in its
|
|||||||
package's AndroidManifest.xml.</p>
|
package's AndroidManifest.xml.</p>
|
||||||
|
|
||||||
<p>By default, Services are exported and can be invoked by any other
|
<p>By default, Services are exported and can be invoked by any other
|
||||||
application. Services can be protected using the android:permission attribute
|
application. Services can be protected using the <a
|
||||||
|
href="{@docRoot}guide/topics/manifest/service-element.html#prmsn">{@code android:permission}</a>
|
||||||
|
attribute
|
||||||
within the manifest’s <code><a
|
within the manifest’s <code><a
|
||||||
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestService">
|
href="{@docRoot}guide/topics/manifest/service-element.html">
|
||||||
<service></a></code> tag. By doing so, other applications will need to declare
|
<service></a></code> tag. By doing so, other applications will need to declare
|
||||||
a corresponding <code><a
|
a corresponding <code><a
|
||||||
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestService_permis
|
href="{@docRoot}guide/topics/manifest/uses-permission-element.html"><uses-permission></a>
|
||||||
sion"><uses-permission></a></code> element in their own manifest to be
|
</code> element in their own manifest to be
|
||||||
able to start, stop, or bind to the service.</p>
|
able to start, stop, or bind to the service.</p>
|
||||||
|
|
||||||
<p>A Service can protect individual IPC calls into it with permissions, by
|
<p>A Service can protect individual IPC calls into it with permissions, by
|
||||||
calling <code><a
|
calling <code><a
|
||||||
href="{@docRoot}reference/android/content/Context.html#checkCallingPermission(ja
|
href="{@docRoot}reference/android/content/Context.html#checkCallingPermission(java.lang.String)">checkCallingPermission()</a></code>
|
||||||
va.lang.String)">checkCallingPermission()</a></code>before executing
|
before executing
|
||||||
the implementation of that call. We generally recommend using the
|
the implementation of that call. We generally recommend using the
|
||||||
declarative permissions in the manifest, since those are less prone to
|
declarative permissions in the manifest, since those are less prone to
|
||||||
oversight.</p>
|
oversight.</p>
|
||||||
@@ -376,9 +372,9 @@ Service to handle IPC, since this modular approach reduces the risk of exposing
|
|||||||
functionality that is not intended for use by other applications.</p>
|
functionality that is not intended for use by other applications.</p>
|
||||||
|
|
||||||
<p>If you do expose an Activity for purposes of IPC, the <code><a
|
<p>If you do expose an Activity for purposes of IPC, the <code><a
|
||||||
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestActivity_permi
|
href="{@docRoot}guide/topics/manifest/activity-element.html#prmsn">android:permission</a></code>
|
||||||
ssion">android:permission</a></code> attribute in the <code><a
|
attribute in the <code><a
|
||||||
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestActivity">
|
href="{@docRoot}guide/topics/manifest/activity-element.html">
|
||||||
<activity></a></code> declaration in the application manifest can be used to
|
<activity></a></code> declaration in the application manifest can be used to
|
||||||
restrict access to only those applications which have the stated
|
restrict access to only those applications which have the stated
|
||||||
permissions.</p>
|
permissions.</p>
|
||||||
@@ -432,8 +428,8 @@ rkeley.edu/~afelt/felt_usenixsec2011.pdf</a></p>
|
|||||||
<p>Generally, you should strive to create as few permissions as possible while
|
<p>Generally, you should strive to create as few permissions as possible while
|
||||||
satisfying your security requirements. Creating a new permission is relatively
|
satisfying your security requirements. Creating a new permission is relatively
|
||||||
uncommon for most applications, since <a
|
uncommon for most applications, since <a
|
||||||
href="{@docRoot}reference/android/Manifest.permission.html">
|
href="{@docRoot}reference/android/Manifest.permission.html">system-defined
|
||||||
system-defined permissions</a> cover many situations. Where appropriate,
|
permissions</a> cover many situations. Where appropriate,
|
||||||
perform access checks using existing permissions.</p>
|
perform access checks using existing permissions.</p>
|
||||||
|
|
||||||
<p>If you must create a new permission, consider whether you can accomplish
|
<p>If you must create a new permission, consider whether you can accomplish
|
||||||
@@ -560,17 +556,14 @@ href="{@docRoot}reference/android/webkit/WebView.html">WebView</a></code> does
|
|||||||
not execute JavaScript so cross-site-scripting is not possible.</p>
|
not execute JavaScript so cross-site-scripting is not possible.</p>
|
||||||
|
|
||||||
<p>Use <code><a
|
<p>Use <code><a
|
||||||
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(jav
|
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> with
|
||||||
a.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> with
|
|
||||||
particular care because it allows JavaScript to invoke operations that are
|
particular care because it allows JavaScript to invoke operations that are
|
||||||
normally reserved for Android applications. Only expose <code><a
|
normally reserved for Android applications. Only expose <code><a
|
||||||
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(jav
|
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> to
|
||||||
a.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> to
|
|
||||||
sources from which all input is trustworthy. If untrusted input is allowed,
|
sources from which all input is trustworthy. If untrusted input is allowed,
|
||||||
untrusted JavaScript may be able to invoke Android methods. In general, we
|
untrusted JavaScript may be able to invoke Android methods. In general, we
|
||||||
recommend only exposing <code><a
|
recommend only exposing <code><a
|
||||||
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(jav
|
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> to
|
||||||
a.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> to
|
|
||||||
JavaScript that is contained within your application APK.</p>
|
JavaScript that is contained within your application APK.</p>
|
||||||
|
|
||||||
<p>Do not trust information downloaded over HTTP, use HTTPS instead. Even if
|
<p>Do not trust information downloaded over HTTP, use HTTPS instead. Even if
|
||||||
@@ -578,13 +571,11 @@ you are connecting only to a single website that you trust or control, HTTP is
|
|||||||
subject to <a
|
subject to <a
|
||||||
href="http://en.wikipedia.org/wiki/Man-in-the-middle_attack">MiTM</a> attacks
|
href="http://en.wikipedia.org/wiki/Man-in-the-middle_attack">MiTM</a> attacks
|
||||||
and interception of data. Sensitive capabilities using <code><a
|
and interception of data. Sensitive capabilities using <code><a
|
||||||
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(jav
|
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> should
|
||||||
a.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> should
|
|
||||||
not ever be exposed to unverified script downloaded over HTTP. Note that even
|
not ever be exposed to unverified script downloaded over HTTP. Note that even
|
||||||
with the use of HTTPS,
|
with the use of HTTPS,
|
||||||
<code><a
|
<code><a
|
||||||
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(jav
|
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code>
|
||||||
a.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code>
|
|
||||||
increases the attack surface of your application to include the server
|
increases the attack surface of your application to include the server
|
||||||
infrastructure and all CAs trusted by the Android-powered device.</p>
|
infrastructure and all CAs trusted by the Android-powered device.</p>
|
||||||
|
|
||||||
@@ -683,8 +674,7 @@ discussed in the Requesting Permissions section.</p>
|
|||||||
<p>If a GUID is required, create a large, unique number and store it. Do not
|
<p>If a GUID is required, create a large, unique number and store it. Do not
|
||||||
use phone identifiers such as the phone number or IMEI which may be associated
|
use phone identifiers such as the phone number or IMEI which may be associated
|
||||||
with personal information. This topic is discussed in more detail in the <a
|
with personal information. This topic is discussed in more detail in the <a
|
||||||
href="http://android-developers.blogspot.com/2011/03/identifying-app-installatio
|
href="http://android-developers.blogspot.com/2011/03/identifying-app-installations.html">Android Developer Blog</a>.</p>
|
||||||
ns.html">Android Developer Blog</a>.</p>
|
|
||||||
|
|
||||||
<p>Application developers should be careful writing to on-device logs.
|
<p>Application developers should be careful writing to on-device logs.
|
||||||
In Android, logs are a shared resource, and are available
|
In Android, logs are a shared resource, and are available
|
||||||
@@ -724,9 +714,8 @@ credentials to the wrong application.</p>
|
|||||||
<p>If credentials are to be used only by applications that you create, then you
|
<p>If credentials are to be used only by applications that you create, then you
|
||||||
can verify the application which accesses the <code><a
|
can verify the application which accesses the <code><a
|
||||||
href="{@docRoot}reference/android/accounts/AccountManager.html">
|
href="{@docRoot}reference/android/accounts/AccountManager.html">
|
||||||
AccountManager</a></code> using <code><a href="<code><a
|
AccountManager</a></code> using <code><a
|
||||||
href="{@docRoot}h/reference/android/content/pm/PackageManager.html#checkSignatur
|
href="{@docRoot}reference/android/content/pm/PackageManager.html#checkSignatures(java.lang.String,%20java.lang.String)">checkSignature()</a></code>.
|
||||||
es(java.lang.String,%20java.lang.String)">checkSignature()</a></code>.
|
|
||||||
Alternatively, if only one application will use the credential, you might use a
|
Alternatively, if only one application will use the credential, you might use a
|
||||||
<code><a
|
<code><a
|
||||||
href={@docRoot}reference/java/security/KeyStore.html">KeyStore</a></code> for
|
href={@docRoot}reference/java/security/KeyStore.html">KeyStore</a></code> for
|
||||||
@@ -756,15 +745,15 @@ RSA provided in the <code><a
|
|||||||
href="{@docRoot}reference/javax/crypto/Cipher.html">Cipher</a></code> class.</p>
|
href="{@docRoot}reference/javax/crypto/Cipher.html">Cipher</a></code> class.</p>
|
||||||
|
|
||||||
<p>Use a secure random number generator (
|
<p>Use a secure random number generator (
|
||||||
<a href="http://developer.android.com/reference/java/security/SecureRandom.html">
|
<a href="{@docRoot}reference/java/security/SecureRandom.html">
|
||||||
<code>SecureRandom</code></a>) to initialize any cryptographic keys (<a
|
<code>SecureRandom</code></a>) to initialize any cryptographic keys (<a
|
||||||
href="http://developer.android.com/reference/javax/crypto/KeyGenerator.html">
|
href="{@docRoot}reference/javax/crypto/KeyGenerator.html">
|
||||||
<code>KeyGenerator</code></a>). Use of a key that is not generated with a secure random
|
<code>KeyGenerator</code></a>). Use of a key that is not generated with a secure random
|
||||||
number generator significantly weakens the strength of the algorithm, and may
|
number generator significantly weakens the strength of the algorithm, and may
|
||||||
allow offline attacks.</p>
|
allow offline attacks.</p>
|
||||||
|
|
||||||
<p>If you need to store a key for repeated use, use a mechanism like <code><a
|
<p>If you need to store a key for repeated use, use a mechanism like <code><a
|
||||||
href={@docRoot}reference/java/security/KeyStore.html">KeyStore</a></code> that
|
href="{@docRoot}reference/java/security/KeyStore.html">KeyStore</a></code> that
|
||||||
provides a mechanism for long term storage and retrieval of cryptographic
|
provides a mechanism for long term storage and retrieval of cryptographic
|
||||||
keys.</p>
|
keys.</p>
|
||||||
|
|
||||||
|
|||||||
@@ -120,8 +120,8 @@ suitable private key</a>.</p>
|
|||||||
<p>You may also have to obtain other release keys if your application accesses a service or uses a
|
<p>You may also have to obtain other release keys if your application accesses a service or uses a
|
||||||
third-party library that requires you to use a key that is based on your private key. For example,
|
third-party library that requires you to use a key that is based on your private key. For example,
|
||||||
if your application uses the <a
|
if your application uses the <a
|
||||||
href="http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/ MapView.
|
href="http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/MapView.html">MapView</a>
|
||||||
html">MapView</a> class, which is part of the <a
|
class, which is part of the <a
|
||||||
href="http://code.google.com/android/add-ons/google-apis/maps-overview.html">Google Maps external
|
href="http://code.google.com/android/add-ons/google-apis/maps-overview.html">Google Maps external
|
||||||
library</a>, you will need to register your application with the Google Maps service and obtain
|
library</a>, you will need to register your application with the Google Maps service and obtain
|
||||||
a Maps API key. For information about getting a Maps API key, see <a
|
a Maps API key. For information about getting a Maps API key, see <a
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ page.title=Publishing Overview
|
|||||||
</ol>
|
</ol>
|
||||||
<h2>See also</h2>
|
<h2>See also</h2>
|
||||||
<ol>
|
<ol>
|
||||||
<li><a href="{@docRoot}guide/publishing/publishing_preparing.html">Preparing for
|
<li><a href="{@docRoot}guide/publishing/preparing.html">Preparing for
|
||||||
Release</a></li>
|
Release</a></li>
|
||||||
<li><a href="{@docRoot}guide/publishing/publishing.html">Publishing on Android Market</a></li>
|
<li><a href="{@docRoot}guide/publishing/publishing.html">Publishing on Android Market</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|||||||
@@ -518,15 +518,12 @@ method. From within the Service, you can perform your own updates
|
|||||||
to the App Widget without worrying about the AppWidgetProvider closing down due
|
to the App Widget without worrying about the AppWidgetProvider closing down due
|
||||||
to an <a href="{@docRoot}guide/practices/design/responsiveness.html">Application
|
to an <a href="{@docRoot}guide/practices/design/responsiveness.html">Application
|
||||||
Not Responding</a> (ANR) error. See the <a
|
Not Responding</a> (ANR) error. See the <a
|
||||||
href="http://code.google.com/p/wiktionary-android/source/browse/trunk/Wiktionary
|
href="http://code.google.com/p/wiktionary-android/source/browse/trunk/Wiktionary/src/com/example/android/wiktionary/WordWidget.java">Wiktionary sample's AppWidgetProvider</a> for an example of an App Widget running a {@link
|
||||||
/src/com/example/android/wiktionary/WordWidget.java">Wiktionary sample's
|
|
||||||
AppWidgetProvider</a> for an example of an App Widget running a {@link
|
|
||||||
android.app.Service}.</p>
|
android.app.Service}.</p>
|
||||||
|
|
||||||
<p>Also see the <a
|
<p>Also see the <a
|
||||||
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/
|
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/appwidget/ExampleAppWidgetProvider.html">ExampleAppWidgetProvider.java</a>
|
||||||
appwidget/ExampleAppWidgetProvider.html">
|
sample class.</p>
|
||||||
ExampleAppWidgetProvider.java</a> sample class.</p>
|
|
||||||
|
|
||||||
|
|
||||||
<h3 id="ProviderBroadcasts">Receiving App Widget broadcast Intents</h3>
|
<h3 id="ProviderBroadcasts">Receiving App Widget broadcast Intents</h3>
|
||||||
@@ -683,9 +680,8 @@ cancelled and the
|
|||||||
App Widget will not be added.</p>
|
App Widget will not be added.</p>
|
||||||
|
|
||||||
<p>See the <a
|
<p>See the <a
|
||||||
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/
|
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/appwidget/ExampleAppWidgetConfigure.html">ExampleAppWidgetConfigure.java</a>
|
||||||
appwidget/ExampleAppWidgetConfigure.html">
|
sample class in ApiDemos for an example.</p>
|
||||||
ExampleAppWidgetConfigure.java</a> sample class in ApiDemos for an example.</p>
|
|
||||||
|
|
||||||
<h2 id="preview">Setting a Preview Image</h2>
|
<h2 id="preview">Setting a Preview Image</h2>
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ by the system and will never be run.
|
|||||||
|
|
||||||
<dt>attributes:</dt>
|
<dt>attributes:</dt>
|
||||||
<dd><dl class="attr">
|
<dd><dl class="attr">
|
||||||
<dt><a href name="reparent"></a>{@code android:allowTaskReparenting}</dt>
|
<dt><a name="reparent"></a>{@code android:allowTaskReparenting}</dt>
|
||||||
<dd>Whether or not the activity can move from the task that started it to
|
<dd>Whether or not the activity can move from the task that started it to
|
||||||
the task it has an affinity for when that task is next brought to the
|
the task it has an affinity for when that task is next brought to the
|
||||||
front — "{@code true}" if it can move, and "{@code false}" if it
|
front — "{@code true}" if it can move, and "{@code false}" if it
|
||||||
|
|||||||
@@ -249,7 +249,7 @@ of that name is created. A global process can be shared with other
|
|||||||
applications, reducing resource usage.
|
applications, reducing resource usage.
|
||||||
</p></dd>
|
</p></dd>
|
||||||
|
|
||||||
<dt><a href name="restoreany"></a>{@code android:restoreAnyVersion}</dt>
|
<dt><a name="restoreany"></a>{@code android:restoreAnyVersion}</dt>
|
||||||
<dd>Indicate that the application is prepared to attempt a restore of any
|
<dd>Indicate that the application is prepared to attempt a restore of any
|
||||||
backed-up data set, even if the backup was stored by a newer version
|
backed-up data set, even if the backup was stored by a newer version
|
||||||
of the application than is currently installed on the device. Setting
|
of the application than is currently installed on the device. Setting
|
||||||
@@ -260,7 +260,7 @@ incompatible. <em>Use with caution!</em>
|
|||||||
<p>The default value of this attribute is {@code false}.
|
<p>The default value of this attribute is {@code false}.
|
||||||
</p></dd>
|
</p></dd>
|
||||||
|
|
||||||
<dt><a href name="aff"></a>{@code android:taskAffinity}</dt>
|
<dt><a name="aff"></a>{@code android:taskAffinity}</dt>
|
||||||
<dd>An affinity name that applies to all activities within the application,
|
<dd>An affinity name that applies to all activities within the application,
|
||||||
except for those that set a different affinity with their own
|
except for those that set a different affinity with their own
|
||||||
<code><a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">taskAffinity</a></code>
|
<code><a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">taskAffinity</a></code>
|
||||||
|
|||||||
@@ -251,7 +251,7 @@ href="{@docRoot}guide/topics/resources/runtime-changes.html">Handling Runtime Ch
|
|||||||
"background media" even when the user leaves your activity, much in the same
|
"background media" even when the user leaves your activity, much in the same
|
||||||
way that the built-in Music application behaves. In this case, what you need is
|
way that the built-in Music application behaves. In this case, what you need is
|
||||||
a {@link android.media.MediaPlayer MediaPlayer} controlled by a {@link android.app.Service}, as
|
a {@link android.media.MediaPlayer MediaPlayer} controlled by a {@link android.app.Service}, as
|
||||||
discussed in <a href="mpandservices">Using a Service with MediaPlayer</a>.</p>
|
discussed in <a href="#mpandservices">Using a Service with MediaPlayer</a>.</p>
|
||||||
|
|
||||||
<h2 id="mpandservices">Using a Service with MediaPlayer</h2>
|
<h2 id="mpandservices">Using a Service with MediaPlayer</h2>
|
||||||
|
|
||||||
|
|||||||
@@ -666,7 +666,7 @@ Android Market is launched to download the application.</p>
|
|||||||
potentially handling specific tags that you have deployed. AARs are only supported at the
|
potentially handling specific tags that you have deployed. AARs are only supported at the
|
||||||
application level, because of the package name constraint, and not at the Activity level as with
|
application level, because of the package name constraint, and not at the Activity level as with
|
||||||
intent filtering. If you want to handle an intent at the Activity level, <a
|
intent filtering. If you want to handle an intent at the Activity level, <a
|
||||||
href="filtering-intents">use intent filters</a>.
|
href="#filtering-intents">use intent filters</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
@@ -795,8 +795,8 @@ depending on what the user is doing in your application.</p>
|
|||||||
|
|
||||||
<p>The following sample shows how a simple activity calls {@link
|
<p>The following sample shows how a simple activity calls {@link
|
||||||
android.nfc.NfcAdapter.CreateNdefMessageCallback} in the <code>onCreate()</code> method of an
|
android.nfc.NfcAdapter.CreateNdefMessageCallback} in the <code>onCreate()</code> method of an
|
||||||
activity (see <a href="{@docRoot}resources/samples/AndroidBeam/index.html"></a> for the
|
activity (see <a href="{@docRoot}resources/samples/AndroidBeamDemo/index.html">AndroidBeamDemo</a>
|
||||||
complete sample). This example also has methods to help you create a MIME record:</p>
|
for the complete sample). This example also has methods to help you create a MIME record:</p>
|
||||||
|
|
||||||
<pre id="code-example">
|
<pre id="code-example">
|
||||||
package com.example.android.beam;
|
package com.example.android.beam;
|
||||||
|
|||||||
@@ -376,7 +376,7 @@ describes how these classes are generated through reflection.</p>
|
|||||||
you call the constructor for the {@link android.renderscript.Script.FieldBase} class and specify
|
you call the constructor for the {@link android.renderscript.Script.FieldBase} class and specify
|
||||||
the amount of structures that you want to allocate memory for. To allocate memory for a primitive
|
the amount of structures that you want to allocate memory for. To allocate memory for a primitive
|
||||||
type pointer, you must build an allocation manually, using the memory management classes
|
type pointer, you must build an allocation manually, using the memory management classes
|
||||||
described in <a href="mem-mgmt-table">Table 1</a>. The example below allocates memory for both
|
described in <a href="#mem-mgmt-table">Table 1</a>. The example below allocates memory for both
|
||||||
the <code>intPointer</code> and <code>touchPoints</code> pointer and binds it to the
|
the <code>intPointer</code> and <code>touchPoints</code> pointer and binds it to the
|
||||||
RenderScript:</p>
|
RenderScript:</p>
|
||||||
<pre>
|
<pre>
|
||||||
|
|||||||
@@ -335,7 +335,7 @@ set.start();
|
|||||||
<dd>
|
<dd>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="{@docRoot}guide/topics/graphics/animation.html">Property Animation</a></li>
|
<li><a href="{@docRoot}guide/topics/graphics/animation.html">Property Animation</a></li>
|
||||||
<li><a href="http://zoso:8080/resources/samples/ApiDemos/src/com/example/android/apis/animation/index.html">API Demos</a> for examples
|
<li><a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/animation/index.html">API Demos</a> for examples
|
||||||
on how to use the property animation system.</li>
|
on how to use the property animation system.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</dd>
|
</dd>
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ parent.link=index.html
|
|||||||
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/os/RotationVectorDemo.html">
|
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/os/RotationVectorDemo.html">
|
||||||
API Demos (OS - RotationVectorDemo)</a></li>
|
API Demos (OS - RotationVectorDemo)</a></li>
|
||||||
<li><a
|
<li><a
|
||||||
href="{@docRoot}/resources/samples/ApiDemos/src/com/example/android/apis/os/RotationVectorDemo.html"
|
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/os/RotationVectorDemo.html"
|
||||||
>API Demos (OS - Sensors)</a></li>
|
>API Demos (OS - Sensors)</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
<h2>See also</h2>
|
<h2>See also</h2>
|
||||||
|
|||||||
@@ -642,7 +642,7 @@ work as designed otherwise.</p>
|
|||||||
<p>Adding this value requires that you set your build target to Android 4.0 or higher in order to
|
<p>Adding this value requires that you set your build target to Android 4.0 or higher in order to
|
||||||
compile. Older versions of Android ignore the {@code "collapseActionView"} value because they don't
|
compile. Older versions of Android ignore the {@code "collapseActionView"} value because they don't
|
||||||
understand it. Just be sure not to use other APIs in your source code that are not supported in the
|
understand it. Just be sure not to use other APIs in your source code that are not supported in the
|
||||||
version declared by your <a href="{@docRoot}guide/topics/manifest/uses-sdk-elementl.html#min">{@code
|
version declared by your <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
|
||||||
minSdkVersion}</a>, unless you add the appropriate version check at runtime.</p>
|
minSdkVersion}</a>, unless you add the appropriate version check at runtime.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -843,8 +843,8 @@ you <em>do not</em> need to handle click events from the {@link
|
|||||||
android.app.Activity#onOptionsItemSelected onOptionsItemSelected()} callback method.</p>
|
android.app.Activity#onOptionsItemSelected onOptionsItemSelected()} callback method.</p>
|
||||||
|
|
||||||
<p>For a sample using the share action provider, see
|
<p>For a sample using the share action provider, see
|
||||||
<a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/ActionBarActionProviderActivity.html"
|
<a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/ActionBarShareActionProviderActivity.html"
|
||||||
>ActionBarActionProviderActivity</a>.
|
>ActionBarShareActionProviderActivity</a>.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -169,8 +169,9 @@ UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXT
|
|||||||
include a <code><uses-feature></code> element that declares that your application uses
|
include a <code><uses-feature></code> element that declares that your application uses
|
||||||
the <code>android.hardware.usb.accessory</code> feature.</li>
|
the <code>android.hardware.usb.accessory</code> feature.</li>
|
||||||
|
|
||||||
<li>If you are using the <a href="addon">add-on library</a>, add the
|
<li>If you are using the
|
||||||
<code><uses-library></code> element specifying
|
<a href="http://code.google.com/android/add-ons/google-apis/index.html">add-on library</a>,
|
||||||
|
add the <code><uses-library></code> element specifying
|
||||||
<code>com.android.future.usb.accessory</code> for the library.</li>
|
<code>com.android.future.usb.accessory</code> for the library.</li>
|
||||||
|
|
||||||
<li>Set the minimum SDK of the application to API Level 10 if you are using the add-on library
|
<li>Set the minimum SDK of the application to API Level 10 if you are using the add-on library
|
||||||
|
|||||||
@@ -699,7 +699,7 @@ bool AndroidAccessory::switchDevice(byte addr)
|
|||||||
</pre>If this method returns false, the board waits until a new device is connected. If it is
|
</pre>If this method returns false, the board waits until a new device is connected. If it is
|
||||||
successful, the device displays itself on the USB bus as being in accessory mode when the ADK board
|
successful, the device displays itself on the USB bus as being in accessory mode when the ADK board
|
||||||
re-enumerates the bus. When the device is in accessory mode, the accessory then <a href=
|
re-enumerates the bus. When the device is in accessory mode, the accessory then <a href=
|
||||||
"establish-adk">establishes communication with the device</a>.
|
"#establish-adk">establishes communication with the device</a>.
|
||||||
|
|
||||||
<h3 id="establish-adk">Establish communication with the device</h3>
|
<h3 id="establish-adk">Establish communication with the device</h3>
|
||||||
|
|
||||||
|
|||||||
@@ -902,8 +902,9 @@ the Bluetooth A2DP Service via IPC.</li>
|
|||||||
<p>Here are the basic steps for working with a profile:</p>
|
<p>Here are the basic steps for working with a profile:</p>
|
||||||
<ol>
|
<ol>
|
||||||
|
|
||||||
<li>Get the default adapter, as described in <a href="{@docRoot}guide/topics/wireless/bluetooth.
|
<li>Get the default adapter, as described in
|
||||||
html#SettingUp">Setting Up Bluetooth</a>.</li>
|
<a href="{@docRoot}guide/topics/wireless/bluetooth.html#SettingUp">Setting Up
|
||||||
|
Bluetooth</a>.</li>
|
||||||
|
|
||||||
<li>Use {@link
|
<li>Use {@link
|
||||||
android.bluetooth.BluetoothAdapter#getProfileProxy(android.content.Context,
|
android.bluetooth.BluetoothAdapter#getProfileProxy(android.content.Context,
|
||||||
|
|||||||
@@ -657,8 +657,8 @@ href="{@docRoot}sdk/eclipse-adt.html">ADT Plugin for Eclipse</a>.</p>
|
|||||||
<p><strong>T-Mobile G1 Compatibility</strong></p>
|
<p><strong>T-Mobile G1 Compatibility</strong></p>
|
||||||
|
|
||||||
<p>This version of the SDK has been tested for compatibility with the first
|
<p>This version of the SDK has been tested for compatibility with the first
|
||||||
Android-powered mobile device, the <a href="http://www.t-mobileg1.com">T-Mobile
|
Android-powered mobile device, the T-Mobile
|
||||||
G1</a>. </p>
|
G1. </p>
|
||||||
|
|
||||||
<p><strong>MapView API Key</strong></p>
|
<p><strong>MapView API Key</strong></p>
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ data, a Maps API Key is required.</li>
|
|||||||
<p>The Android 1.1 system image was tested for compatability with the
|
<p>The Android 1.1 system image was tested for compatability with the
|
||||||
Android-powered devices listed below:</p>
|
Android-powered devices listed below:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="http://www.t-mobileg1.com">T-Mobile G1</a></li>
|
<li>T-Mobile G1</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2 id="apps">Built-in Applications</h2>
|
<h2 id="apps">Built-in Applications</h2>
|
||||||
|
|||||||
@@ -262,8 +262,8 @@ android.content.ClipData.Item}s.</p>
|
|||||||
|
|
||||||
<p>For more information, read the <a href="{@docRoot}guide/topics/clipboard/copy-paste.html">Copy
|
<p>For more information, read the <a href="{@docRoot}guide/topics/clipboard/copy-paste.html">Copy
|
||||||
and Paste</a> documentation. You can also see a simple implementation of copy and paste in the <a
|
and Paste</a> documentation. You can also see a simple implementation of copy and paste in the <a
|
||||||
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/content/ClipboardSample.
|
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/content/ClipboardSample.html">API Demos</a>
|
||||||
html">API Demos</a> and a more complete implementation in the <a
|
and a more complete implementation in the <a
|
||||||
href="{@docRoot}resources/samples/NotePad/index.html">Note Pad</a> application.</p>
|
href="{@docRoot}resources/samples/NotePad/index.html">Note Pad</a> application.</p>
|
||||||
|
|
||||||
|
|
||||||
@@ -386,7 +386,7 @@ loader for your activity or fragment.</p>
|
|||||||
<p>For more information, read the <a
|
<p>For more information, read the <a
|
||||||
href="{@docRoot}guide/topics/fundamentals/loaders.html">Loaders</a> documentation. You can also see
|
href="{@docRoot}guide/topics/fundamentals/loaders.html">Loaders</a> documentation. You can also see
|
||||||
example code using loaders in the <a
|
example code using loaders in the <a
|
||||||
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentListCursorLoader.html">FragmentListCursorLoader</a>
|
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.html">LoaderCursor</a>
|
||||||
and <a
|
and <a
|
||||||
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html">
|
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html">
|
||||||
LoaderThrottle</a> samples.</p>
|
LoaderThrottle</a> samples.</p>
|
||||||
|
|||||||
@@ -422,10 +422,9 @@ onGenericMotionEvent()} there instead.</p>
|
|||||||
|
|
||||||
<p class="note">To look at a sample application that uses joystick motion
|
<p class="note">To look at a sample application that uses joystick motion
|
||||||
events, see <a
|
events, see <a
|
||||||
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/
|
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/GameControllerInput.html">GameControllerInput</a>
|
||||||
GameControllerInput.html">GameControllerInput</a> and <a
|
and <a
|
||||||
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/
|
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/GameView.html">GameView</a>.</p>
|
||||||
GameView.html">GameView</a>.</p>
|
|
||||||
|
|
||||||
<h3>RTP API</h3>
|
<h3>RTP API</h3>
|
||||||
|
|
||||||
@@ -931,7 +930,7 @@ devices.</li>
|
|||||||
href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code
|
href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code
|
||||||
<uses-feature>}</a> manifest elements. For more information about
|
<uses-feature>}</a> manifest elements. For more information about
|
||||||
declaring features in an application manifest, read <a
|
declaring features in an application manifest, read <a
|
||||||
href="{docRoot}guide/appendix/market-filters.html">Android Market
|
href="{@docRoot}guide/appendix/market-filters.html">Android Market
|
||||||
Filters</a>.</p>
|
Filters</a>.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1292,9 +1292,9 @@ public boolean onCreateOptionsMenu(Menu menu) {
|
|||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>For an example using the {@link android.widget.ShareActionProvider}, see the <a
|
<p>For an example using the {@link android.widget.ShareActionProvider}, see <a
|
||||||
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/ActionBarActionProviderActivity.html"
|
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/ActionBarShareActionProviderActivity.html"
|
||||||
>ActionBarActionProviderActivity</a> class in ApiDemos.</p>
|
>ActionBarShareActionProviderActivity</a> in ApiDemos.</p>
|
||||||
|
|
||||||
|
|
||||||
<h4>Collapsible action views</h4>
|
<h4>Collapsible action views</h4>
|
||||||
|
|||||||
@@ -63,8 +63,8 @@ Tasks</code>.</li>
|
|||||||
strings that identify your app to the service. You need to obtain these strings
|
strings that identify your app to the service. You need to obtain these strings
|
||||||
directly from the service owner. Google has a self-service system for obtaining
|
directly from the service owner. Google has a self-service system for obtaining
|
||||||
client ids and secrets. The article <a
|
client ids and secrets. The article <a
|
||||||
href="http://code.google.com/apis/tasks/articles/oauth-and-tasks-on-android.
|
href="http://code.google.com/apis/tasks/articles/oauth-and-tasks-on-android.html">Getting
|
||||||
html">Getting Started with the Tasks API and OAuth 2.0 on Android</a> explains
|
Started with the Tasks API and OAuth 2.0 on Android</a> explains
|
||||||
how to use this system to obtain these values for use with the Google Tasks
|
how to use this system to obtain these values for use with the Google Tasks
|
||||||
API.</li>
|
API.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ previous.link=connectivity-monitoring.html
|
|||||||
|
|
||||||
<h2>This lesson teaches you to</h2>
|
<h2>This lesson teaches you to</h2>
|
||||||
<ol>
|
<ol>
|
||||||
<li><a href="ToggleReceivers">Toggle and Cascade State Change Receivers to Improve
|
<li><a href="#ToggleReceivers">Toggle and Cascade State Change Receivers to Improve
|
||||||
Efficiency</a></li>
|
Efficiency</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user