안드로이드 잡담-HTC 등 휴대전화로 UDP 방송 메시지를 받지 못하는 솔루션
1476 단어 android
그래서 HTC가 시스템을 최적화해서 꺼버렸을 거라고 추측했다.휴대전화가 UDP 방송 기능을 켜면 전기가 소모될 뿐만 아니라 시스템 자원을 차지하기 때문이다.몇몇 휴대전화 업체들은 기본적으로 이 기능을 껐을 수도 있지만,
핸드폰으로 UDP 메시지를 보내려면 먼저 신청해야 이 기능을 사용할 수 있다.
솔루션:
1. oncreate () 방법에서 WifiManager를 실례화합니다.MulticastLock 객체 lock
WifiManager manager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); WifiManager.MulticastLock lock= manager.createMulticastLock("localWifi");
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 new one은 라디오 메시지를 보내고 받을 수 있다
참조:
http://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock.html
http://blog.csdn.net/lvron/article/details/6606755
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.