Merge change Ic31c0f62 into eclair

* changes:
  docs: update the Bluetooth guide with links to the sample app, scrub the sibling files, and revise the Bluetooth package summary to point to the BT dev guide.
This commit is contained in:
Android (Google) Code Review
2009-12-18 17:12:36 -08:00
4 changed files with 24 additions and 91 deletions

View File

@@ -12,96 +12,16 @@ devices, connecting with devices, and managing data transfer between devices.
<li>Transfer data to and from other devices</li>
</ul>
<p class="note"><strong>Note:</strong>
<p>
To perform Bluetooth communication using these APIs, an application must
declare the {@link android.Manifest.permission#BLUETOOTH} permission. Some
additional functionality, such as requesting device discovery and
pairing also requires the {@link android.Manifest.permission#BLUETOOTH_ADMIN}
additional functionality, such as requesting device discovery,
also requires the {@link android.Manifest.permission#BLUETOOTH_ADMIN}
permission.
</p>
<h3>Overview</h3>
<p>Here's a basic introduction to the Bluetooth classes:</p>
<dl>
<dt>{@link android.bluetooth.BluetoothAdapter}</dt>
<dd>This represents the local Bluetooth adapter, which is essentially the
entry-point to performing any interaction with Bluetooth. With it, you can
discover other Bluetooth devices, query a list of bonded (paired) devices,
initialize a {@link android.bluetooth.BluetoothDevice} using a known MAC
address, and create a {@link android.bluetooth.BluetoothServerSocket} to
listen for communications from other devices.</dd>
<dt>{@link android.bluetooth.BluetoothDevice}</dt>
<dd>This represents a remote Bluetooth device. Use this to request a
connection with a remote device through a
{@link android.bluetooth.BluetoothSocket}
or query information about the device such as its name, address, class, and
bonding state.</dd>
<dt>{@link android.bluetooth.BluetoothSocket}</dt>
<dd>This represents the interface for a Bluetooth socket
(similar to a TCP client-side {@link java.net.Socket}). This is the
connection point that allows an app to transfer data with another Bluetooth
device via {@link java.io.InputStream} and {@link java.io.OutputStream}.</dd>
<dt>{@link android.bluetooth.BluetoothServerSocket}</dt>
<dd>This represents an open server socket that listens for incoming requests
(similar to a TCP server-side {@link java.net.ServerSocket}).
When attempting to connect two Android devices, one device will need to open
a server socket with this class. When a connection is accepted, a new
{@link android.bluetooth.BluetoothSocket} will be returned,
which can be used to manage the connection and transfer data.</dd>
<dt>{@link android.bluetooth.BluetoothClass}</dt>
<dd>This represents the Bluetooth class for a device which describes general
characteristics and capabilities of a device. This class and its subclasses
don't provide any actual functionality. The sub-classes are entirely composed
of constants for the device and service class definitions.</dd>
</dl>
<h3>Example Procedure</h3>
<p>For example, here's an pseudo-code procedure for discovering and
connecting a remote device, and transfering data:</p>
<ol>
<li>Register a {@link android.content.BroadcastReceiver} that accepts the
{@link android.bluetooth.BluetoothDevice#ACTION_FOUND} Intent.</li>
<li>Call {@link android.bluetooth.BluetoothAdapter#getDefaultAdapter} to
retrieve the Android system's local
{@link android.bluetooth.BluetoothAdapter}.</li>
<li>Call {@link android.bluetooth.BluetoothAdapter#startDiscovery()
BluetoothAdapter.startDiscovery()} to scan for local devices. This is where
the BroadcastReceiver comes in; Android now scans for devices and will
broadcast the {@link android.bluetooth.BluetoothDevice#ACTION_FOUND} Intent
for each remote device discovered. The
{@link android.content.BroadcastReceiver}
you created will receive each Intent.</li>
<li>The {@link android.bluetooth.BluetoothDevice#ACTION_FOUND} Intent
includes the {@link android.bluetooth.BluetoothDevice#EXTRA_DEVICE}
Parcelable extra, which is a {@link android.bluetooth.BluetoothDevice}
object. Extract this from the Intent and call
{@link android.bluetooth.BluetoothDevice#createRfcommSocketToServiceRecord(java.util.UUID)
BluetoothDevice.createRfcommSocketToServiceRecord()}
to open a {@link android.bluetooth.BluetoothSocket} with a chosen
remote device.</li>
<li>Call {@link android.bluetooth.BluetoothSocket#connect()
BluetoothSocket.connect()} to connect with the remote device.</li>
<li>When successfully connected, call
{@link android.bluetooth.BluetoothSocket#getInputStream()
BluetoothSocket.getInputStream()} and/or
{@link android.bluetooth.BluetoothSocket#getOutputStream()
BluetoothSocket.getOutputStream()} to retreive an
{@link java.io.InputStream} and {@link java.io.OutputStream}, respectively,
which are hooked into the socket.</li>
<li>Use {@link java.io.InputStream#read(byte[]) InputStream.read()} and
{@link java.io.OutputStream#write(byte[]) OutputStream.write()} to transfer
data.</li>
</ol>
<p>For a detailed guide to using the Bluetooth APIs, see the <a
href="{@docRoot}guide/topics/wireless/bluetooth.html">Bluetooth Dev Guide topic</a>.</p>
<p class="note"><strong>Note:</strong>
Not all Android devices are guaranteed to have Bluetooth functionality.</p>

View File

@@ -34,6 +34,12 @@ page.title=Bluetooth
<li><a href="#ManagingAConnection">Managing a Connection</a></li>
</ol>
<h2>See also</h2>
<ol>
<li><a href="{@docRoot}resources/samples/BluetoothChat/index.html">Bluetooth Chat sample
app</a></li>
</ol>
</div>
</div>
@@ -826,4 +832,7 @@ terminated at any time by closing the {@link android.bluetooth.BluetoothSocket}.
This should always be called when you're done using the Bluetooth
connection.</p>
<div class="special">
<p>For a complete demonstration using the Bluetooth APIs, see the <a
href="{@docRoot}resources/samples/BluetoothChat/index.html">Bluetooth Chat sample app</a>.</p>
</div>

View File

@@ -1,8 +1,9 @@
page.title=Wireless Controls
@jd:body
Go away.
<!--
<h2>Wi-Fi</h2>
<p>The Wi-Fi APIs provide a means by which application can communicate with the lower-level
wireless stack that provides Wi-Fi network access. Almost all information from the device supplicant
@@ -12,8 +13,11 @@ interactions include the ability to scan, add, dave, terminate and initiate conn
<h2>Bluetooth</h2>
<p>The Bluetooth APIs allow applications to scan, connect and pair with other Bluetooth devices.
THESE APIS ARE NOT YET AVAILABLE.</p>
<p>The Android platform includes support for the Bluetooth network stack, which allows a device to
wirelessly exchange data with other Bluetooth devices. The application framework provides access to
the Bluetooth functionality through the Android Bluetooth APIs. These APIs let applications
wirelessly connect to other Bluetooth devices, enabling point-to-point and multipoint wireless
features.</p>
-->

View File

@@ -15,4 +15,4 @@ parent.link=index.html
</div>
TODO
Go away.