From bd6a8872438a35d47821c5d5da7fe149e5fed3ab Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期三, 21 六月 2023 09:53:36 +0800 Subject: [PATCH] 处理收不到广播 --- rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 44 insertions(+), 0 deletions(-) diff --git a/rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java b/rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java index cc5132b..b1b70df 100644 --- a/rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java +++ b/rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java @@ -5,8 +5,12 @@ import android.content.Intent; import android.graphics.Color; import android.os.Build; +import android.os.Handler; import android.os.IBinder; +import android.text.format.DateFormat; +import android.text.format.DateUtils; import android.util.Log; +import android.widget.Toast; import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; @@ -14,6 +18,8 @@ import java.nio.charset.Charset; import java.util.ArrayList; import java.util.concurrent.TimeUnit; + +import cn.sinata.rxnetty.Cache.CacheUtil; import cn.sinata.rxnetty.netStatus.NetChangeObserver; import cn.sinata.rxnetty.netStatus.NetStateReceiver; import cn.sinata.rxnetty.netStatus.NetUtils; @@ -73,6 +79,7 @@ } }); initCheckOb(); + initCheckObNUll(); } public void checkState() { @@ -80,14 +87,35 @@ || !mConnection.getChannel().isActive() || !mConnection.getChannel().isWritable()) { reConnect(); + }else { +// String s = CacheUtil.get().getAsString("reConnect"); +// s = s + "###"+ "已连接"; +// CacheUtil.get().put("reConnect",s); } } + + public void checkStateNull(){ +// String s = CacheUtil.get().getAsString("reConnect"); +// s = s + "###"+ "checkStateNull"; +// CacheUtil.get().put("reConnect",s); + reConnect(); + } + void initCheckOb() { NettyClient.getInstance().setOnCheckListener(new OnCheckListener() { @Override public void doCheck() { checkState(); + } + }); + } + + void initCheckObNUll(){ + NettyClient.getInstance().setOnCheckNullListener(new OnCheckListenerNull() { + @Override + public void doCheck() { + checkStateNull(); } }); } @@ -248,19 +276,35 @@ private void reConnect() { if (isDestroy) { +// String s = CacheUtil.get().getAsString("reConnect"); +// s = s + "###"+ "server已死"; +// CacheUtil.get().put("reConnect",s); return; } //reconnect +// String s = CacheUtil.get().getAsString("reConnect"); +// s = s + "###"+ "倒计时3秒"; +// CacheUtil.get().put("reConnect",s); + Observable.timer(3, TimeUnit.SECONDS).subscribe(new Action1<Long>() { @Override public void call(Long aLong) { +// String s = CacheUtil.get().getAsString("reConnect"); +// s = s + "###"+ "倒计时结束"; +// CacheUtil.get().put("reConnect",s); if (mConnection != null) { mConnection.close(); mConnection = null; } + Log.i("CoreService", "sendHeart_websocket长连接断开,重新连接"); connectServer(); } + + @Override + protected void finalize() throws Throwable { + super.finalize(); + } }); } -- Gitblit v1.7.1