初步增加airkiss配网
This commit is contained in:
parent
6788ff18d1
commit
b6f1aeaeb6
|
|
@ -46,10 +46,12 @@ public class AirKissUtil {
|
|||
receiveSubscribe.unsubscribe();
|
||||
}
|
||||
AirKissEncoder airKissEncoder = new AirKissEncoder(ssid, password);
|
||||
|
||||
//发送AirKiss
|
||||
sendSubscribe = Observable.create(new Observable.OnSubscribe<String>() {
|
||||
@Override
|
||||
public void call(Subscriber<? super String> subscriber) {
|
||||
subscriber.onNext("start");
|
||||
byte[] sendBuffer = new byte[1500];
|
||||
try (DatagramSocket sendSocket = new DatagramSocket()) {
|
||||
// 创建一个新的DatagramSocket对象,此时系统会随机分配一个可用的UDP端口号。
|
||||
|
|
@ -76,6 +78,7 @@ public class AirKissUtil {
|
|||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<String>() {
|
||||
final ProgressDialog mDialog = new ProgressDialog(activity);
|
||||
@Override
|
||||
public void onCompleted() {
|
||||
LogUtils.d("LHD onCompleted");
|
||||
|
|
@ -90,23 +93,35 @@ public class AirKissUtil {
|
|||
@Override
|
||||
public void onNext(String string) {
|
||||
LogUtils.d("LHD send onNext =" + string);
|
||||
|
||||
mDialog.setTitle("配网");
|
||||
mDialog.setMessage("发送配网信息...");
|
||||
mDialog.setCancelable(false);
|
||||
mDialog.show();
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
//发送配网ssid pwd,因为字节发送需要时间比较久,此处只是设置比较短的提示,但实际上后台线程还在发送中。
|
||||
mDialog.dismiss();
|
||||
receiveUDPPackage(activity);
|
||||
}
|
||||
}, 5000);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
receiveUDPPackage(activity);
|
||||
// receiveUDPPackage(activity);
|
||||
|
||||
}
|
||||
|
||||
public void receiveUDPPackage(AppCompatActivity activity) {
|
||||
ProgressDialog mDialog = new ProgressDialog(activity);
|
||||
|
||||
//接收udp包
|
||||
receiveSubscribe = Observable.create(new Observable.OnSubscribe<String>() {
|
||||
@Override
|
||||
public void call(Subscriber<? super String> subscriber) {
|
||||
byte[] buffer = new byte[15000];
|
||||
DatagramSocket udpServerSocket = null;
|
||||
try {
|
||||
udpServerSocket = new DatagramSocket(9954);
|
||||
try (DatagramSocket udpServerSocket = new DatagramSocket(9954)) {
|
||||
udpServerSocket.setSoTimeout(1000 * 60);
|
||||
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
|
||||
while (true) {
|
||||
|
|
@ -134,14 +149,12 @@ public class AirKissUtil {
|
|||
e.printStackTrace();
|
||||
} finally {
|
||||
LogUtils.d("LHD received finally: ");
|
||||
if (udpServerSocket != null) {
|
||||
udpServerSocket.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}).subscribeOn(Schedulers.newThread())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Subscriber<String>() {
|
||||
final ProgressDialog mDialog = new ProgressDialog(activity);
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
|
|
|
|||
Loading…
Reference in New Issue