am c3adcf9d: Merge "replace instances of Wi-Fi Direct with Wi-Fi P2P" into jb-mr2-docs
* commit 'c3adcf9dc745932bf3a059a7201644dd96b97750': replace instances of Wi-Fi Direct with Wi-Fi P2P
This commit is contained in:
@@ -62,7 +62,7 @@ class="toggle-content-img" alt="" />
|
||||
<li><a href="#Multimedia">Multimedia</a></li>
|
||||
<li><a href="#Camera">Camera</a></li>
|
||||
<li><a href="#AndroidBeam">Android Beam (NDEF Push with NFC)</a></li>
|
||||
<li><a href="#WiFiDirect">Wi-Fi Direct</a></li>
|
||||
<li><a href="#WiFiDirect">Wi-Fi P2P</a></li>
|
||||
<li><a href="#Bluetooth">Bluetooth Health Devices</a></li>
|
||||
<li><a href="#A11y">Accessibility</a></li>
|
||||
<li><a href="#SpellChecker">Spell Checker Services</a></li>
|
||||
@@ -617,12 +617,13 @@ Beam Demo</a>.</p>
|
||||
|
||||
|
||||
|
||||
<h3 id="WiFiDirect">Wi-Fi Direct</h3>
|
||||
<h3 id="WiFiDirect">Wi-Fi P2P</h3>
|
||||
|
||||
<p>Android now supports Wi-Fi Direct for peer-to-peer (P2P) connections between Android-powered
|
||||
devices and other device types without a hotspot or Internet connection. The Android framework
|
||||
<p>Android now supports Wi-Fi peer-to-peer (P2P) connections between Android-powered
|
||||
devices and other device types (in compliance with the Wi-Fi
|
||||
Alliance's Wi-Fi Direct™ certification program) without a hotspot or Internet connection. The Android framework
|
||||
provides a set of Wi-Fi P2P APIs that allow you to discover and connect to other devices when each
|
||||
device supports Wi-Fi Direct, then communicate over a speedy connection across distances much longer
|
||||
device supports Wi-Fi P2P, then communicate over a speedy connection across distances much longer
|
||||
than a Bluetooth connection.</p>
|
||||
|
||||
<p>A new package, {@link android.net.wifi.p2p}, contains all the APIs for performing peer-to-peer
|
||||
@@ -669,7 +670,7 @@ formed and who is the group owner.</li>
|
||||
<li>{@link android.Manifest.permission#ACCESS_WIFI_STATE}</li>
|
||||
<li>{@link android.Manifest.permission#CHANGE_WIFI_STATE}</li>
|
||||
<li>{@link android.Manifest.permission#INTERNET} (although your app doesn’t technically connect
|
||||
to the Internet, communicating to Wi-Fi Direct peers with standard java sockets requires Internet
|
||||
to the Internet, communicating to Wi-Fi P2P peers with standard java sockets requires Internet
|
||||
permission).</li>
|
||||
</ul>
|
||||
|
||||
@@ -696,7 +697,7 @@ this device have changed.</li>
|
||||
</ul>
|
||||
|
||||
<p>See the {@link android.net.wifi.p2p.WifiP2pManager} documentation for more information. Also
|
||||
look at the <a href="{@docRoot}resources/samples/WiFiDirectDemo/index.html">Wi-Fi Direct Demo</a>
|
||||
look at the <a href="{@docRoot}resources/samples/WiFiDirectDemo/index.html">Wi-Fi P2P Demo</a>
|
||||
sample application.</p>
|
||||
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ sdk.platform.apiLevel=16
|
||||
<ol>
|
||||
<li><a href="#AndroidBeam">Android Beam</a></li>
|
||||
<li><a href="#LocalNsd">Network service discovery</a></li>
|
||||
<li><a href="#WiFiNsd">Wi-Fi Direct service discovery</a></li>
|
||||
<li><a href="#WiFiNsd">Wi-Fi P2P service discovery</a></li>
|
||||
<li><a href="#NetworkUsage">Network usage</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
@@ -506,11 +506,11 @@ discovered service, allowing you to initiate the connection.</p>
|
||||
|
||||
|
||||
|
||||
<h3 id="WiFiNsd">Wi-Fi Direct service discovery</h3>
|
||||
<h3 id="WiFiNsd">Wi-Fi P2P service discovery</h3>
|
||||
|
||||
<p>The Wi-Fi Direct APIs are enhanced in Android 4.1 to support pre-association service discovery in
|
||||
<p>The Wi-Fi P2P APIs are enhanced in Android 4.1 to support pre-association service discovery in
|
||||
the {@link android.net.wifi.p2p.WifiP2pManager}. This allows you to discover and filter nearby
|
||||
devices by services using Wi-Fi Direct before connecting to one, while Network Service
|
||||
devices by services using Wi-Fi P2P before connecting to one, while Network Service
|
||||
Discovery allows you to discover a service on an existing connected network (such as a local Wi-Fi
|
||||
network).</p>
|
||||
|
||||
|
||||
@@ -408,7 +408,7 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="<?cs var:toroot?>guide/topics/connectivity/wifip2p.html">
|
||||
<span class="en">Wi-Fi Direct</span></a>
|
||||
<span class="en">Wi-Fi P2P</span></a>
|
||||
</li>
|
||||
<li class="nav-section">
|
||||
<div class="nav-section-header"><a href="<?cs var:toroot?>guide/topics/connectivity/usb/index.html">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
page.title=Wi-Fi Direct
|
||||
page.tags="wireless","WifiP2pManager"
|
||||
page.title=Wi-Fi Peer-to-Peer
|
||||
page.tags="wireless","WifiP2pManager","Wi-Fi Direct","WiFi Direct","P2P","Wi-Fi P2P","WiFi P2P"
|
||||
|
||||
@jd:body
|
||||
|
||||
@@ -9,10 +9,10 @@ page.tags="wireless","WifiP2pManager"
|
||||
|
||||
<ol>
|
||||
<li><a href="#api">API Overview</a></li>
|
||||
<li><a href="#creating-br">Creating a Broadcast Receiver for Wi-Fi Direct Intents</a></li>
|
||||
<li><a href="#creating-br">Creating a Broadcast Receiver for Wi-Fi P2P Intents</a></li>
|
||||
|
||||
<li>
|
||||
<a href="#creating-app">Creating a Wi-Fi Direct Application</a>
|
||||
<a href="#creating-app">Creating a Wi-Fi P2P Application</a>
|
||||
|
||||
<ol>
|
||||
<li><a href="#setup">Initial setup</a></li>
|
||||
@@ -25,21 +25,24 @@ page.tags="wireless","WifiP2pManager"
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<h2>Related Samples</h2>
|
||||
<ol>
|
||||
<li><a href="{@docRoot}resources/samples/WiFiDirectDemo/index.html">Wi-Fi Direct Demo</a></li>
|
||||
</ol>
|
||||
<h2>See also</h2>
|
||||
<ul>
|
||||
<li><a href="{@docRoot}training/connect-devices-wirelessly/wifi-direct.html">Creating
|
||||
P2P Connections with Wi-Fi</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>Wi-Fi Direct allows Android 4.0 (API level 14) or later devices with the appropriate hardware
|
||||
to connect directly to each other via Wi-Fi without an intermediate access point.
|
||||
Using these APIs, you can discover and connect to other devices when each device supports Wi-Fi Direct,
|
||||
then communicate over a speedy connection across distances much longer than a Bluetooth connection.
|
||||
This is useful for applications that share data among users, such as a multiplayer game or
|
||||
a photo sharing application.</p>
|
||||
|
||||
<p>The Wi-Fi Direct APIs consist of the following main parts:</p>
|
||||
<p>Wi-Fi peer-to-peer (P2P) allows Android 4.0 (API level 14) or later devices with the appropriate
|
||||
hardware to connect directly to each other via Wi-Fi without an intermediate access point (Android's
|
||||
Wi-Fi P2P framework complies with the Wi-Fi Alliance's Wi-Fi Direct™ certification program).
|
||||
Using these APIs, you can discover and connect to other devices when each device supports Wi-Fi P2P,
|
||||
then communicate over a speedy connection across distances much longer than a Bluetooth connection.
|
||||
This is useful for applications that share data among users, such as a multiplayer game or
|
||||
a photo sharing application.</p>
|
||||
|
||||
<p>The Wi-Fi P2P APIs consist of the following main parts:</p>
|
||||
|
||||
<ul>
|
||||
<li>Methods that allow you to discover, request, and connect to peers are defined
|
||||
@@ -50,7 +53,7 @@ page.tags="wireless","WifiP2pManager"
|
||||
android.net.wifi.p2p.WifiP2pManager} methods, each method can receive a specific listener
|
||||
passed in as a parameter.</li>
|
||||
|
||||
<li>Intents that notify you of specific events detected by the Wi-Fi Direct framework,
|
||||
<li>Intents that notify you of specific events detected by the Wi-Fi P2P framework,
|
||||
such as a dropped connection or a newly discovered peer.</li>
|
||||
</ul>
|
||||
|
||||
@@ -70,7 +73,7 @@ page.tags="wireless","WifiP2pManager"
|
||||
the Wi-Fi hardware on your device to do things like discover and connect to peers. The following actions
|
||||
are available:</p>
|
||||
|
||||
<p class="table-caption"><strong>Table 1.</strong>Wi-Fi Direct Methods</p>
|
||||
<p class="table-caption"><strong>Table 1.</strong>Wi-Fi P2P Methods</p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
@@ -80,7 +83,7 @@ page.tags="wireless","WifiP2pManager"
|
||||
|
||||
<tr>
|
||||
<td>{@link android.net.wifi.p2p.WifiP2pManager#initialize initialize()}</td>
|
||||
<td>Registers the application with the Wi-Fi framework. This must be called before calling any other Wi-Fi Direct method.</td>
|
||||
<td>Registers the application with the Wi-Fi framework. This must be called before calling any other Wi-Fi P2P method.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@@ -126,12 +129,12 @@ page.tags="wireless","WifiP2pManager"
|
||||
|
||||
|
||||
<p>{@link android.net.wifi.p2p.WifiP2pManager} methods let you pass in a listener,
|
||||
so that the Wi-Fi Direct framework can notify your
|
||||
so that the Wi-Fi P2P framework can notify your
|
||||
activity of the status of a call. The available listener interfaces and the
|
||||
corresponding {@link android.net.wifi.p2p.WifiP2pManager} method calls that use the listeners
|
||||
are described in the following table:</p>
|
||||
|
||||
<p class="table-caption"><strong>Table 2.</strong> Wi-Fi Direct Listeners</p>
|
||||
<p class="table-caption"><strong>Table 2.</strong> Wi-Fi P2P Listeners</p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
@@ -168,12 +171,12 @@ page.tags="wireless","WifiP2pManager"
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>The Wi-Fi Direct APIs define intents that are broadcast when certain Wi-Fi Direct events happen,
|
||||
<p>The Wi-Fi P2P APIs define intents that are broadcast when certain Wi-Fi P2P events happen,
|
||||
such as when a new peer is discovered or when a device's Wi-Fi state changes. You can register
|
||||
to receive these intents in your application by <a href="#creating-br">creating a broadcast
|
||||
receiver</a> that handles these intents:</p>
|
||||
|
||||
<p class="table-caption"><strong>Table 3.</strong> Wi-Fi Direct Intents</p>
|
||||
<p class="table-caption"><strong>Table 3.</strong> Wi-Fi P2P Intents</p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
@@ -194,7 +197,7 @@ page.tags="wireless","WifiP2pManager"
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{@link android.net.wifi.p2p.WifiP2pManager#WIFI_P2P_STATE_CHANGED_ACTION}</td>
|
||||
<td>Broadcast when Wi-Fi Direct is enabled or disabled on the device.</td>
|
||||
<td>Broadcast when Wi-Fi P2P is enabled or disabled on the device.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{@link android.net.wifi.p2p.WifiP2pManager#WIFI_P2P_THIS_DEVICE_CHANGED_ACTION}</td>
|
||||
@@ -204,11 +207,11 @@ page.tags="wireless","WifiP2pManager"
|
||||
|
||||
|
||||
|
||||
<h2 id="creating-br">Creating a Broadcast Receiver for Wi-Fi Direct Intents</h2>
|
||||
<h2 id="creating-br">Creating a Broadcast Receiver for Wi-Fi P2P Intents</h2>
|
||||
|
||||
<p>A broadcast receiver allows you to receive intents broadcast by the Android system,
|
||||
so that your application can respond to events that you are interested in. The basic steps
|
||||
for creating a broadcast receiver to handle Wi-Fi Direct intents are as follows:</p>
|
||||
for creating a broadcast receiver to handle Wi-Fi P2P intents are as follows:</p>
|
||||
|
||||
<ol>
|
||||
<li>Create a class that extends the {@link android.content.BroadcastReceiver} class. For the
|
||||
@@ -267,17 +270,17 @@ public class WiFiDirectBroadcastReceiver extends BroadcastReceiver {
|
||||
}
|
||||
</pre>
|
||||
|
||||
<h2 id="creating-app">Creating a Wi-Fi Direct Application</h2>
|
||||
<h2 id="creating-app">Creating a Wi-Fi P2P Application</h2>
|
||||
|
||||
<p>Creating a Wi-Fi Direct application involves creating and registering a
|
||||
<p>Creating a Wi-Fi P2P application involves creating and registering a
|
||||
broadcast receiver for your application, discovering peers, connecting to a peer, and
|
||||
transferring data to a peer. The following sections describe how to do this.</p>
|
||||
|
||||
<h3 id="setup">Initial setup</h3>
|
||||
<p>Before using the Wi-Fi Direct APIs, you must ensure that your application can access
|
||||
the hardware and that the device supports the Wi-Fi Direct protocol. If Wi-Fi Direct is supported,
|
||||
<p>Before using the Wi-Fi P2P APIs, you must ensure that your application can access
|
||||
the hardware and that the device supports the Wi-Fi P2P protocol. If Wi-Fi P2P is supported,
|
||||
you can obtain an instance of {@link android.net.wifi.p2p.WifiP2pManager}, create and register
|
||||
your broadcast receiver, and begin using the Wi-Fi Direct APIs.</p>
|
||||
your broadcast receiver, and begin using the Wi-Fi P2P APIs.</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Request permission to use the Wi-Fi hardware on the device and also declare
|
||||
@@ -292,10 +295,10 @@ public class WiFiDirectBroadcastReceiver extends BroadcastReceiver {
|
||||
</pre>
|
||||
</li>
|
||||
|
||||
<li>Check to see if Wi-Fi Direct is on and supported. A good place to check this is in your
|
||||
<li>Check to see if Wi-Fi P2P is on and supported. A good place to check this is in your
|
||||
broadcast receiver when it receives the {@link
|
||||
android.net.wifi.p2p.WifiP2pManager#WIFI_P2P_STATE_CHANGED_ACTION} intent. Notify your
|
||||
activity of the Wi-Fi Direct state and react accordingly:
|
||||
activity of the Wi-Fi P2P state and react accordingly:
|
||||
<pre>
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
@@ -304,9 +307,9 @@ public void onReceive(Context context, Intent intent) {
|
||||
if (WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action)) {
|
||||
int state = intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE, -1);
|
||||
if (state == WifiP2pManager.WIFI_P2P_STATE_ENABLED) {
|
||||
// Wifi Direct is enabled
|
||||
// Wifi P2P is enabled
|
||||
} else {
|
||||
// Wi-Fi Direct is not enabled
|
||||
// Wi-Fi P2P is not enabled
|
||||
}
|
||||
}
|
||||
...
|
||||
@@ -315,10 +318,10 @@ public void onReceive(Context context, Intent intent) {
|
||||
</li>
|
||||
|
||||
<li>In your activity's {@link android.app.Activity#onCreate onCreate()} method, obtain an instance of {@link
|
||||
android.net.wifi.p2p.WifiP2pManager} and register your application with the Wi-Fi Direct
|
||||
android.net.wifi.p2p.WifiP2pManager} and register your application with the Wi-Fi P2P
|
||||
framework by calling {@link android.net.wifi.p2p.WifiP2pManager#initialize initialize()}. This
|
||||
method returns a {@link android.net.wifi.p2p.WifiP2pManager.Channel}, which is used to connect
|
||||
your application to the Wi-Fi Direct framework. You should also create an instance of your
|
||||
your application to the Wi-Fi P2P framework. You should also create an instance of your
|
||||
broadcast receiver with the {@link
|
||||
android.net.wifi.p2p.WifiP2pManager} and {@link android.net.wifi.p2p.WifiP2pManager.Channel}
|
||||
objects along with a reference to your activity. This allows your broadcast receiver to notify
|
||||
@@ -376,11 +379,11 @@ protected void onPause() {
|
||||
</pre>
|
||||
|
||||
<p>When you have obtained a {@link android.net.wifi.p2p.WifiP2pManager.Channel} and
|
||||
set up a broadcast receiver, your application can make Wi-Fi Direct method calls and receive
|
||||
Wi-Fi Direct intents.</p>
|
||||
set up a broadcast receiver, your application can make Wi-Fi P2P method calls and receive
|
||||
Wi-Fi P2P intents.</p>
|
||||
</li>
|
||||
|
||||
<p>You can now implement your application and use the Wi-Fi Direct features by calling the
|
||||
<p>You can now implement your application and use the Wi-Fi P2P features by calling the
|
||||
methods in {@link android.net.wifi.p2p.WifiP2pManager}. The next sections describe how to do common actions
|
||||
such as discovering and connecting to peers.</p>
|
||||
</ol>
|
||||
@@ -492,10 +495,10 @@ mManager.connect(mChannel, config, new ActionListener() {
|
||||
</ol>
|
||||
|
||||
<p>The following example, modified from the <a href=
|
||||
"{@docRoot}resources/samples/WiFiDirectDemo/index.html">Wi-Fi Direct Demo</a> sample, shows you how
|
||||
"{@docRoot}resources/samples/WiFiDirectDemo/index.html">Wi-Fi P2P Demo</a> sample, shows you how
|
||||
to create this client-server socket communication and transfer JPEG images from a client
|
||||
to a server with a service. For a complete working example, compile and run the <a href=
|
||||
"{@docRoot}resources/samples/WiFiDirectDemo/index.html">Wi-Fi Direct Demo</a> sample.</p>
|
||||
"{@docRoot}resources/samples/WiFiDirectDemo/index.html">Wi-Fi P2P Demo</a> sample.</p>
|
||||
<pre>
|
||||
public static class FileServerAsyncTask extends AsyncTask<Void, Void, String> {
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ startpage=true
|
||||
|
||||
<h2>You should also read</h2>
|
||||
<ul>
|
||||
<li><a href="{@docRoot}guide/topics/connectivity/wifip2p.html">Wi-Fi Direct</a></li>
|
||||
<li><a href="{@docRoot}guide/topics/connectivity/wifip2p.html">Wi-Fi P2P</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -37,8 +37,8 @@ other machines on the same network.</p>
|
||||
<p>This class describes the key APIs for finding and
|
||||
connecting to other devices from your application. Specifically, it
|
||||
describes the NSD API for discovering available services and the Wi-Fi
|
||||
Direct™ API for doing peer-to-peer wireless connections. This class also
|
||||
shows you how to use NSD and Wi-Fi Direct in
|
||||
Peer-to-Peer (P2P) API for doing peer-to-peer wireless connections. This class also
|
||||
shows you how to use NSD and Wi-Fi P2P in
|
||||
combination to detect the services offered by a device and connect to the
|
||||
device when neither device is connected to a network.
|
||||
</p>
|
||||
@@ -49,13 +49,13 @@ device when neither device is connected to a network.
|
||||
<dd>Learn how to broadcast services offered by your own application, discover
|
||||
services offered on the local network, and use NSD to determine the connection
|
||||
details for the service you wish to connect to.</dd>
|
||||
<dt><strong><a href="wifi-direct.html">Connecting with Wi-Fi Direct</a></strong></dt>
|
||||
<dt><strong><a href="wifi-direct.html">Creating P2P Connections with Wi-Fi</a></strong></dt>
|
||||
<dd>Learn how to fetch a list of nearby peer devices, create an access point
|
||||
for legacy devices, and connect to other devices capable of Wi-Fi Direct
|
||||
for legacy devices, and connect to other devices capable of Wi-Fi P2P
|
||||
connections.</dd>
|
||||
<dt><strong><a href="nsd-wifi-direct.html">Using Wi-Fi Direct for Service
|
||||
<dt><strong><a href="nsd-wifi-direct.html">Using Wi-Fi P2P for Service
|
||||
Discovery</a></strong></dt>
|
||||
<dd>Learn how to discover services published by nearby devices without being
|
||||
on the same network, using Wi-Fi Direct.</dd>
|
||||
on the same network, using Wi-Fi P2P.</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
page.title=Using Wi-Fi Direct for Service Discovery
|
||||
page.title=Using Wi-Fi P2P for Service Discovery
|
||||
parent.title=Connecting Devices Wirelessly
|
||||
parent.link=index.html
|
||||
|
||||
@@ -26,23 +26,23 @@ trainingnavtop=true
|
||||
<p>The first lesson in this class, <a href="nsd.html">Using Network Service
|
||||
Discovery</a>, showed you
|
||||
how to discover services that are connected to a local network. However, using
|
||||
Wi-Fi Direct&trad; Service Discovery allows you to discover the services of nearby devices directly,
|
||||
without being connected to a network. You can also advertise the services
|
||||
Wi-Fi Peer-to-Peer (P2P) Service Discovery allows you to discover the services of nearby devices
|
||||
directly, without being connected to a network. You can also advertise the services
|
||||
running on your device. These capabilities help you communicate between apps,
|
||||
even when no local network or hotspot is available.</p>
|
||||
<p>While this set of APIs is similar in purpose to the Network Service Discovery
|
||||
APIs outlined in a previous lesson, implementing them in code is very different.
|
||||
This lesson shows you how to discover services available from other devices,
|
||||
using Wi-Fi Direct™. The lesson assumes that you're already familiar with the
|
||||
<a href="{@docRoot}guide/topics/connectivity/wifip2p.html">Wi-Fi Direct</a> API.</p>
|
||||
using Wi-Fi P2P. The lesson assumes that you're already familiar with the
|
||||
<a href="{@docRoot}guide/topics/connectivity/wifip2p.html">Wi-Fi P2P</a> API.</p>
|
||||
|
||||
|
||||
<h2 id="manifest">Set Up the Manifest</h2>
|
||||
<p>In order to use Wi-Fi Direct, add the {@link
|
||||
<p>In order to use Wi-Fi P2P, add the {@link
|
||||
android.Manifest.permission#CHANGE_WIFI_STATE}, {@link
|
||||
android.Manifest.permission#ACCESS_WIFI_STATE},
|
||||
and {@link android.Manifest.permission#INTERNET}
|
||||
permissions to your manifest. Even though Wi-Fi Direct doesn't require an
|
||||
permissions to your manifest. Even though Wi-Fi P2P doesn't require an
|
||||
Internet connection, it uses standard Java sockets, and using these in Android
|
||||
requires the requested permissions.</p>
|
||||
|
||||
@@ -244,7 +244,7 @@ provided by the method hints at the problem. Here are the possible error values
|
||||
and what they mean</p>
|
||||
<dl>
|
||||
<dt> {@link android.net.wifi.p2p.WifiP2pManager#P2P_UNSUPPORTED}</dt>
|
||||
<dd> Wi-Fi Direct isn't supported on the device running the app.</dd>
|
||||
<dd> Wi-Fi P2P isn't supported on the device running the app.</dd>
|
||||
<dt> {@link android.net.wifi.p2p.WifiP2pManager#BUSY}</dt>
|
||||
<dd> The system is to busy to process the request.</dd>
|
||||
<dt> {@link android.net.wifi.p2p.WifiP2pManager#ERROR}</dt>
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
page.title=Connecting with Wi-Fi Direct
|
||||
parent.title=Connecting Devices Wirelessly
|
||||
parent.link=index.html
|
||||
page.title=Creating P2P Connections with Wi-Fi
|
||||
|
||||
trainingnavtop=true
|
||||
previous.title=Using Network Service Discovery
|
||||
previous.link=nsd.html
|
||||
next.title=Service Discovery with Wi-Fi Direct
|
||||
next.link=nsd-wifi-direct.html
|
||||
|
||||
@jd:body
|
||||
|
||||
@@ -21,25 +15,30 @@ next.link=nsd-wifi-direct.html
|
||||
<li><a href="#fetch">Fetch the List of Peers</a></li>
|
||||
<li><a href="#connect">Connect to a Peer</a></li>
|
||||
</ol>
|
||||
<h2>You should also read</h2>
|
||||
<ul>
|
||||
<li><a href="{@docRoot}guide/topics/connectivity/wifip2p.html">Wi-Fi Peer-to-Peer</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>The Wi-Fi Direct™ APIs allow applications to connect to nearby devices without
|
||||
needing to connect to a network or hotspot. This allows your application to quickly
|
||||
<p>The Wi-Fi peer-to-peer (P2P) APIs allow applications to connect to nearby devices without
|
||||
needing to connect to a network or hotspot (Android's Wi-Fi P2P framework complies with the Wi-Fi
|
||||
Alliance's Wi-Fi Direct™ certification program). Wi-Fi P2P allows your application to quickly
|
||||
find and interact with nearby devices, at a range beyond the capabilities of Bluetooth.
|
||||
</p>
|
||||
<p>
|
||||
This lesson shows you how to find and connect to nearby devices using Wi-Fi Direct.
|
||||
This lesson shows you how to find and connect to nearby devices using Wi-Fi P2P.
|
||||
</p>
|
||||
<h2 id="permissions">Set Up Application Permissions</h2>
|
||||
<p>In order to use Wi-Fi Direct, add the {@link
|
||||
<p>In order to use Wi-Fi P2P, add the {@link
|
||||
android.Manifest.permission#CHANGE_WIFI_STATE}, {@link
|
||||
android.Manifest.permission#ACCESS_WIFI_STATE},
|
||||
and {@link android.Manifest.permission#INTERNET}
|
||||
permissions to your manifest. Wi-Fi Direct doesn't require an internet connection,
|
||||
permissions to your manifest. Wi-Fi P2P doesn't require an internet connection,
|
||||
but it does use standard Java sockets, which require the {@link
|
||||
android.Manifest.permission#INTERNET} permission.
|
||||
So you need the following permissions to use Wi-Fi Direct.</p>
|
||||
So you need the following permissions to use Wi-Fi P2P.</p>
|
||||
|
||||
<pre>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
@@ -59,13 +58,13 @@ So you need the following permissions to use Wi-Fi Direct.</p>
|
||||
</pre>
|
||||
|
||||
<h2 id="receiver">Set Up a Broadcast Receiver and Peer-to-Peer Manager</h2>
|
||||
<p>To use Wi-Fi Direct, you need to listen for broadcast intents that tell your
|
||||
<p>To use Wi-Fi P2P, you need to listen for broadcast intents that tell your
|
||||
application when certain events have occurred. In your application, instantiate
|
||||
an {@link
|
||||
android.content.IntentFilter} and set it to listen for the following:</p>
|
||||
<dl>
|
||||
<dt>{@link android.net.wifi.p2p.WifiP2pManager#WIFI_P2P_STATE_CHANGED_ACTION}</dt>
|
||||
<dd>Indicates whether Wi-Fi Peer-To-Peer (P2P) is enabled</dd>
|
||||
<dd>Indicates whether Wi-Fi P2P is enabled</dd>
|
||||
<dt>{@link android.net.wifi.p2p.WifiP2pManager#WIFI_P2P_PEERS_CHANGED_ACTION}</dt>
|
||||
<dd>Indicates that the available peer list has changed.</dd>
|
||||
<dt>{@link android.net.wifi.p2p.WifiP2pManager#WIFI_P2P_CONNECTION_CHANGED_ACTION}</dt>
|
||||
@@ -80,7 +79,7 @@ public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.main);
|
||||
|
||||
// Indicates a change in the Wi-Fi Peer-to-Peer status.
|
||||
// Indicates a change in the Wi-Fi P2P status.
|
||||
intentFilter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION);
|
||||
|
||||
// Indicates a change in the list of available peers.
|
||||
@@ -101,7 +100,7 @@ android.net.wifi.p2p.WifiP2pManager}, and call its {@link
|
||||
android.net.wifi.p2p.WifiP2pManager#initialize(Context, Looper, WifiP2pManager.ChannelListener) initialize()}
|
||||
method. This method returns a {@link
|
||||
android.net.wifi.p2p.WifiP2pManager.Channel} object, which you'll use later to
|
||||
connect your app to the Wi-Fi Direct Framework.</p>
|
||||
connect your app to the Wi-Fi P2P framework.</p>
|
||||
|
||||
<pre>
|
||||
@Override
|
||||
@@ -126,7 +125,7 @@ method, add a condition to handle each P2P state change listed above.</p>
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
String action = intent.getAction();
|
||||
if (WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action)) {
|
||||
// Determine if Wifi Direct mode is enabled or not, alert
|
||||
// Determine if Wifi P2P mode is enabled or not, alert
|
||||
// the Activity.
|
||||
int state = intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE, -1);
|
||||
if (state == WifiP2pManager.WIFI_P2P_STATE_ENABLED) {
|
||||
@@ -177,7 +176,7 @@ The best place to do this is the {@link android.app.Activity#onResume()} and
|
||||
|
||||
|
||||
<h2 id="discover">Initiate Peer Discovery</h2>
|
||||
<p>To start searching for nearby devices with Wi-Fi Direct, call {@link
|
||||
<p>To start searching for nearby devices with Wi-Fi P2P, call {@link
|
||||
android.net.wifi.p2p.WifiP2pManager#discoverPeers(WifiP2pManager.Channel,
|
||||
WifiP2pManager.ActionListener) discoverPeers()}. This method takes the
|
||||
following arguments:</p>
|
||||
@@ -218,7 +217,7 @@ formed.</p>
|
||||
<h2 id="fetch">Fetch the List of Peers</h2>
|
||||
<p>Now write the code that fetches and processes the list of peers. First
|
||||
implement the {@link android.net.wifi.p2p.WifiP2pManager.PeerListListener}
|
||||
interface, which provides information about the peers that Wi-Fi Direct has
|
||||
interface, which provides information about the peers that Wi-Fi P2P has
|
||||
detected. The following code snippet illustrates this.</p>
|
||||
|
||||
<pre>
|
||||
|
||||
@@ -405,7 +405,7 @@ include the action bar on devices running Android 2.1 or higher."
|
||||
<a href="<?cs var:toroot ?>training/connect-devices-wirelessly/index.html"
|
||||
description=
|
||||
"How to find and connect to local devices using Network Service
|
||||
Discovery and Wi-Fi Direct in order to create peer-to-peer connections."
|
||||
Discovery and how to create peer-to-peer connections with Wi-Fi."
|
||||
>Connecting Devices Wirelessly</a>
|
||||
</div>
|
||||
<ul>
|
||||
@@ -414,7 +414,7 @@ include the action bar on devices running Android 2.1 or higher."
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/wifi-direct.html">
|
||||
Connecting with Wi-Fi Direct
|
||||
Creating P2P Connections with Wi-Fi
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd-wifi-direct.html">
|
||||
|
||||
Reference in New Issue
Block a user