第一个P2P_wifi直连安卓软件总结:

5/18第一天



//保持屏幕常亮

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Bundle是一个传输数据类,用法类似于Map,可以在两个activi之间传递数据等。用法

Intent intent = new Intent(); 

intent.setClass(TestBundle.this,Target.class); 

Bundle mBundle = new Bundle(); 

mBundle.putString("Data","data from TestBundle");//压入数据 

intent.putExtras(mBundle); 

startActivity(intent);

 

接收方:

Bundle bundle =getIntent().getExtras();    //得到传过来的bundle

String data =bundle.getString("Data");//读出数据 

setTitle(data);

 

 

 

 

android.net.wifi.p2p,一个新的软件包,包含所有的API执行同行等连接与Wi - Fi。你需要与主类是WifiP2pManager,您可以调用getSystemService(WIFI_P2P_SERVICE)收购。WifiP2pManager包括API,允许您:

 

1、您P2P连接的应用程序通过调用initialize

 

2、探索通过调用附近的设备discoverPeers

 

开始通过调用P2P连接connect以及一些其他的接口和类是必要的,如:

 

WifiP2pManager.ActionListener接口,让您能够接收的操作时,如发现同行或连接到他们的成功或失败的回调。

 

WifiP2pManager.PeerListListener界面,您可以收到有关发现同行的信息。回调提供了一个WifiP2pDeviceList,您可以从中检索一个WifiP2pDevice范围内的每个设备对象和获取信息,如设备的名称,地址,设备类型,设备支持的WPS配置。

 

WifiP2pManager.GroupInfoListener界面,您可以收到一个P2P组信息。 回调提供了一个WifiP2pGroup对象,它提供了所有者,网络名称和密码的信息,如组。

 

WifiP2pManager.ConnectionInfoListener界面,您可以得到当前连接的信息。回调提供了一个WifiP2pInfo对象,它具有信息,如一个组是否已经形成,谁是该组的所有者。

 

为了使用的Wi - Fi P2P的API,你的应用程序必须要求以下用户权限:

 

1、ACCESS_WIFI_STATE

 

2、CHANGE_WIFI_STATE

 

3、INTERNET (虽然你的应用程序不技术上连接到互联网,沟通的Wi - Fi标准的Java套接字直接同行需要Internet权限)。

 

Android系统还广播了几种不同的行动,在特定的Wi - Fi P2P事件:

 

1、WIFI_P2P_CONNECTION_CHANGED_ACTION :P2P连接状态发生了变化。这与EXTRA_WIFI_P2P_INFOWifiP2pInfo与EXTRA_NETWORK_INFONetworkInfo对象的对象EXTRA_NETWORK_INFOEXTRA_NETWORK_INFOEXTRA_WIFI_P2P_INFOEXTRA_WIFI_P2P_INFO 。

 

2、WIFI_P2P_STATE_CHANGED_ACTION :P2P的状态已经改变之间的启用和禁用。 它携带EXTRA_WIFI_STATE要么WIFI_P2P_STATE_DISABLED或WIFI_P2P_STATE_ENABLED

 

WIFI_P2P_PEERS_CHANGED_ACTION等设备的列表已经改变。

 

3、WIFI_P2P_THIS_DEVICE_CHANGED_ACTION :该设备的细节已经改变。

 

 

 

getSystemServiceAndroid很重要的一个API,它是Activity的一个方法,根据传入的NAME来取得对应的Object,然后转换成相应的服务对象。以下介绍系统相应的服务。

 

 

传入的Name

返回的对象

说明

WINDOW_SERVICE 

WindowManager

管理打开的窗口程序

LAYOUT_INFLATER_SERVICE

LayoutInflater 

取得xml里定义的view

ACTIVITY_SERVICE

ActivityManager 

管理应用程序的系统状态

POWER_SERVICE

PowerManger

电源的服务

ALARM_SERVICE

AlarmManager

闹钟的服务

NOTIFICATION_SERVICE 

NotificationManager

状态栏的服务

KEYGUARD_SERVICE 

KeyguardManager 

键盘锁的服务

LOCATION_SERVICE

 LocationManager 

位置的服务,如GPS

SEARCH_SERVICE

SearchManager 

搜索的服务

VEBRATOR_SERVICE 

Vebrator

手机震动的服务

CONNECTIVITY_SERVICE

Connectivity

网络连接的服务

WIFI_SERVICE

WifiManager

Wi-Fi服务

 TELEPHONY_SERVICE

TeleponyManager

电话服务

 

 java在创建对象的时候会同时调用这个对象的构造函数完成对象的初始化工作。

使用构造函数时需要记住:

1.构造函数必须与类同名(如果一个源文件中有多个类,那么构造函数必须与公共类同名)

2.每个类可以有一个以上的构造函数

3.构造函数可以有0个、1个或1个以上的参数

4.构造函数没有返回值

5.构造函数总是伴随着new 新对象操作一起调用

 

wifiP2pHelper = new WifiP2pHelper(this, this.handler);

 新建构造函数,并且实现了构建P2P_wifi直连通道,获取本机打开wifi后的地址。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值