Android UDP通信
来源:互联网 发布:水产加工erp软件 编辑:程序博客网 时间:2024/05/01 11:06
同一套程序在中兴手机和华为手机上可以接收到UDP广播报文,但在HTC手机上却接收不到?
问题原因:(仅猜测而已,未经过验证)
手机开启UDP广播功能不仅耗电,而且占用系统资源。可能有些手机厂家默认把这个功能给关掉了,
你若想要用手机来发送接收UDP报文,得先申请,才能使用这个功能。
具体如何申请和释放:
1、可先在oncreate()方法里面实例化一个WifiManager.MulticastLock 对象lock;具体如下:
- WifiManager manager = (WifiManager) this
- .getSystemService(Context.WIFI_SERVICE);
- WifiManager.MulticastLock lock= manager.createMulticastLock("test wifi");
2、在调用广播发送、接收报文之前先调用lock.acquire()方法;
3、用完之后及时调用lock.release()释放资源,否决多次调用lock.acquire()方法,程序可能会崩,详情请见
Caused by: java.lang.UnsupportedOperationException: Exceeded maximum number of wifi locks
注;记得在配置文件里面添加如下权限:
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
经过这样处理后,HTC手机也能正常发送接收到广播报文。
小结:事出有因,多想想为啥,这样我们才有可能找到问题的真正原因。
0 0
- android UDP通信
- android UDP通信
- android UDP通信问题
- android网络通信------UDP
- Android UDP通信
- android UDP通信
- Android实现UDP通信
- Android中UDP通信
- Android:Socket UDP通信
- android UDP通信
- android 简易UDP通信模型
- android 简易UDP通信模型
- Android简易UDP通信模型
- Android下UDP通信DEMO
- java/android udp协议通信
- Android Socket UDP,TCP通信
- android两台真机的sock udp 通信
- android局域网通信(udp,tcp等)
- 小小菜之Cocos2d-x游戏开发旅程——项目实例:飞机大战(1)
- C++面试考点
- 使用spring @Scheduled注解执行定时任务
- sizeof
- javac compile java project and run
- Android UDP通信
- C语言实现的百分比加进度条的显示程序
- 利用ListView实现最简单的上滑悬停 (附源码)
- xen用FTP方式安装虚拟机系统
- 反射机制
- windows上caffe的编译
- Centos 6.4 python 2.6 升级到 2.7
- POJ 2051(最小堆/优先队列)
- C语言指针和文件笔记