version:1.0
update:2021-10-21 10:14:40 fix: add:增加开机检测弹窗,增加常驻通知
This commit is contained in:
@@ -12,6 +12,8 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.os.SystemClock;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
@@ -46,37 +48,63 @@ import io.reactivex.Observable;
|
||||
import io.reactivex.ObservableEmitter;
|
||||
import io.reactivex.ObservableOnSubscribe;
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.Scheduler;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import pl.droidsonroids.gif.GifImageView;
|
||||
|
||||
public class CheckNetActivity extends BaseActivity implements MainContact.MainView, NetworkUtils.OnNetworkStatusChangedListener {
|
||||
@BindView(R.id.giv_1)
|
||||
GifImageView giv_1;
|
||||
@BindView(R.id.giv_2)
|
||||
GifImageView giv_2;
|
||||
@BindView(R.id.giv_3)
|
||||
GifImageView giv_3;
|
||||
@BindView(R.id.tv_1)
|
||||
TextView tv_1;
|
||||
@BindView(R.id.tv_2)
|
||||
TextView tv_2;
|
||||
@BindView(R.id.tv_3)
|
||||
TextView tv_3;
|
||||
|
||||
private static final String TAG = CheckNetActivity.class.getSimpleName();
|
||||
private MainPresenter mPresenter;
|
||||
|
||||
private boolean netWorkIsRunning = false;
|
||||
private boolean updateApp = false;
|
||||
|
||||
//jiguang
|
||||
public static boolean isForeground = false;
|
||||
//for receive customer msg from jpush server
|
||||
private CheckNetActivity.MessageReceiver mMessageReceiver;
|
||||
private MessageReceiver mMessageReceiver;
|
||||
public static final String MESSAGE_RECEIVED_ACTION = "com.aoleyun.sn.MESSAGE_RECEIVED_ACTION";
|
||||
public static final String KEY_TITLE = "title";
|
||||
public static final String KEY_MESSAGE = "message";
|
||||
public static final String KEY_EXTRAS = "extras";
|
||||
|
||||
// @Override
|
||||
// protected void onCreate(Bundle savedInstanceState) {
|
||||
// super.onCreate(savedInstanceState);
|
||||
// setContentView(R.layout.activity_checknet);
|
||||
// }
|
||||
private static Handler mHandler;
|
||||
|
||||
@Override
|
||||
public void onDisconnected() {
|
||||
Log.e("OnNetworkStatusChangedListener", "onDisconnected: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnected(NetworkUtils.NetworkType networkType) {
|
||||
Log.e("OnNetworkStatusChangedListener", "onConnected: ");
|
||||
timeMillis = SystemClock.elapsedRealtime();
|
||||
//直接获取数据
|
||||
mPresenter.getLockedState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.activity_checknet;
|
||||
}
|
||||
|
||||
boolean isAvailable = false;
|
||||
int runTimes = 0;
|
||||
|
||||
@Override
|
||||
public void initView() {
|
||||
ButterKnife.bind(this);
|
||||
@@ -88,8 +116,64 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
|
||||
mPresenter.getFirstConnect();
|
||||
NetworkUtils.registerNetworkStatusChangedListener(this);
|
||||
getDevicesInfo();
|
||||
mHandler = new Handler() {
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
super.handleMessage(msg);
|
||||
Resut resut = (Resut) msg.obj;
|
||||
if (resut.Times == 10) {
|
||||
if (resut.isAvailable) {
|
||||
giv_1.setImageResource(R.drawable.successful);
|
||||
} else {
|
||||
giv_1.setImageResource(R.drawable.failed);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
checkNetworkIsAvailable();
|
||||
}
|
||||
|
||||
private static class Resut {
|
||||
int Times;
|
||||
boolean isAvailable;
|
||||
}
|
||||
|
||||
private void checkNetworkIsAvailable() {
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
while (!isAvailable && runTimes < 10) {
|
||||
runTimes++;
|
||||
Log.e("initView", "run: " + "第" + runTimes + "次检测网络");
|
||||
if (NetworkUtils.isAvailable()) {
|
||||
Resut resut = new Resut();
|
||||
resut.Times = runTimes;
|
||||
resut.isAvailable = true;
|
||||
Message message = new Message();
|
||||
message.obj = resut;
|
||||
mHandler.sendMessage(message);
|
||||
} else {
|
||||
Resut resut = new Resut();
|
||||
resut.Times = runTimes;
|
||||
resut.isAvailable = false;
|
||||
Message message = new Message();
|
||||
message.obj = resut;
|
||||
mHandler.sendMessage(message);
|
||||
}
|
||||
try {
|
||||
synchronized (this) {
|
||||
wait(1200);
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
|
||||
|
||||
private void getDevicesInfo() {
|
||||
String sn = Utils.getSerial();
|
||||
checkSNError(sn);
|
||||
@@ -254,14 +338,7 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
|
||||
|
||||
@Override
|
||||
public void buttonCheckUpdateFinished(boolean update, JsonObject jsonObject) {
|
||||
this.updateApp = !update;
|
||||
if (update) {
|
||||
showDialog(jsonObject);
|
||||
} else {
|
||||
Observable.timer(5000, TimeUnit.MILLISECONDS)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(aLong -> ToastUtil.show("已经是最新版本"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -402,14 +479,12 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
isForeground = false;
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
isForeground = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -495,19 +570,6 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, filter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisconnected() {
|
||||
Log.e("OnNetworkStatusChangedListener", "onDisconnected: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnected(NetworkUtils.NetworkType networkType) {
|
||||
Log.e("OnNetworkStatusChangedListener", "onConnected: ");
|
||||
timeMillis = SystemClock.elapsedRealtime();
|
||||
//直接获取数据
|
||||
mPresenter.getLockedState();
|
||||
}
|
||||
|
||||
public static class MessageReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
|
||||
Reference in New Issue
Block a user