上一篇android官方文档之路–Wi-Fi Peer-to-Peer文章翻译了官方文档中关于Wifi P2P的内容,本文通过该方法实现手机之间的图片传递。
准备
安卓4.0以上的设备才具有Wifi P2P的功能,因此最小的SDK应该在14以上,同时还需提供相应的权限。
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
客户端实现
界面布局
<TextView
android:id="@+id/tv"
android:textStyle="bold"
android:textSize="20sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:onClick="onDiscover"
android:text="discover peers"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:text="send"
android:onClick="onSend"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<ListView
android:id="@+id/wifi_list"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
布局文件很简单,包含一个TextView,两个Button,一个ListView。TextView用来显示信息,一个Button搜索附近节点,另一个发送图片,ListView用来显示找到的节点。
实现Wi-Fi P2P连接
实现连接的相关步骤查看android官方文档之路–Wi-Fi Peer-to-Peer。
public class WiFiDirectActivity extends Activity implements AdapterView.OnItemClickListener {
private TextView tv;
private ListView wifiList;