From 8a9c8a375d5be4fc0eb689e4f235d25f9418b481 Mon Sep 17 00:00:00 2001 From: jia Date: Wed, 26 Feb 2025 01:59:43 +0800 Subject: [PATCH] =?UTF-8?q?feat#415=5F=E5=88=87=E6=8D=A2=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E5=80=92=E8=AE=A1=E6=97=B615=E5=88=86=E9=92=9F=E6=9D=80?= =?UTF-8?q?=E8=BF=9B=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ifish/activity/MainTabActivity.java | 61 +++++++++++++++++++ .../java/com/ifish/basebean/EventBean.java | 2 +- .../com/ifish/baseclass/BaseApplication.java | 30 +++++---- 3 files changed, 80 insertions(+), 13 deletions(-) diff --git a/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java b/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java index 4f09422dc..5341c4a0e 100644 --- a/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java +++ b/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java @@ -19,6 +19,7 @@ import android.os.Handler; import android.text.TextUtils; import android.util.Log; import android.util.SparseArray; +import android.view.KeyEvent; import android.view.View; import android.view.Window; import android.widget.Button; @@ -582,6 +583,9 @@ public class MainTabActivity extends BaseFragmentActivity { DeviceOffLine(); } + + + private void userActivitiesCount() { if (userActivitiesFlag) { userActivitiesFlag = false; @@ -699,4 +703,61 @@ public class MainTabActivity extends BaseFragmentActivity { } + private long exitTime = 0; + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { + if ((System.currentTimeMillis() - exitTime) > 3000) { + ToastUtil.show(this,"再按一次退出程序"); + exitTime = System.currentTimeMillis(); + return true; + } else { + ActivityManager.getInstance().exit(); + return super.onKeyDown(keyCode, event); + } + } + return super.onKeyDown(keyCode, event); + } + + public void onEventMainThread(EventBean event) { + if (event!=null){ + switch (event.index) { + case -1: + startDownTimer(); + break; + case 1: + closeDownTimer(); + break; + default: + + break; + } + } + } + + CountDownTimer countDownTimer; + public void startDownTimer(){ + closeDownTimer(); + countDownTimer = new CountDownTimer(900000,1000) { + @Override + public void onTick(long l) { + L.i("----------------------"+l/1000); + } + + @Override + public void onFinish() { + ActivityManager.getInstance().exit(); + } + }; + + countDownTimer.start(); + } + + public void closeDownTimer(){ + if (countDownTimer!=null){ + countDownTimer.cancel(); + countDownTimer = null; + } + } } diff --git a/iFish7/src/main/java/com/ifish/basebean/EventBean.java b/iFish7/src/main/java/com/ifish/basebean/EventBean.java index d31933755..d3c027d8d 100644 --- a/iFish7/src/main/java/com/ifish/basebean/EventBean.java +++ b/iFish7/src/main/java/com/ifish/basebean/EventBean.java @@ -12,7 +12,7 @@ public class EventBean { public int index = 0; // jiablue // public static String BLUETOOTH_START_SCAN = "start_scan"; -// public static String BLUETOOTH_STOP_SCAN = "stop_scan"; + public static String BACK_STAGE = "back_stage"; public static String TAB_INDEX = "tab_index"; public static String LINK_FINISH = "link_finish"; public static String CHANGE_DEVICE_NAME = "change_device_name"; diff --git a/iFish7/src/main/java/com/ifish/baseclass/BaseApplication.java b/iFish7/src/main/java/com/ifish/baseclass/BaseApplication.java index 574c47061..2e400944b 100644 --- a/iFish7/src/main/java/com/ifish/baseclass/BaseApplication.java +++ b/iFish7/src/main/java/com/ifish/baseclass/BaseApplication.java @@ -22,6 +22,7 @@ import androidx.multidex.MultiDexApplication; //import com.clj.fastble.BleManager; //import com.clj.fastble.scan.BleScanRuleConfig; import com.ifish.activity.BuildConfig; +import com.ifish.basebean.EventBean; import com.ifish.utils.ActivityManager; import com.ifish.utils.ImageDownLoader; import com.ifish.utils.L; @@ -41,6 +42,8 @@ import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; + +import de.greenrobot.event.EventBus; import okhttp3.OkHttpClient; /** @@ -101,12 +104,14 @@ public class BaseApplication extends MultiDexApplication { @Override public void onActivityStarted(@NonNull Activity activity) { if (count==0){ - Activity activityName = ActivityManager.getInstance().lastActivity(); - if (activityName!=null && activityName.toString().contains("MainTabActivity")){ - // jiablue -// EventBean eventBean = new EventBean(EventBean.BLUETOOTH_START_SCAN); -// EventBus.getDefault().post(eventBean); - } + EventBean eventBean = new EventBean(EventBean.BACK_STAGE,1); + EventBus.getDefault().post(eventBean); +// Activity activityName = ActivityManager.getInstance().lastActivity(); +// if (activityName!=null && activityName.toString().contains("MainTabActivity")){ +// // jiablue +//// EventBean eventBean = new EventBean(EventBean.BLUETOOTH_START_SCAN); +//// EventBus.getDefault().post(eventBean); +// } } count++; @@ -126,12 +131,13 @@ public class BaseApplication extends MultiDexApplication { public void onActivityStopped(@NonNull Activity activity) { count--; if (count==0){ - Activity activityName = ActivityManager.getInstance().lastActivity(); - if (activityName!=null && activityName.toString().contains("MainTabActivity")){ - // jiablue -// EventBean eventBean = new EventBean(EventBean.BLUETOOTH_STOP_SCAN); -// EventBus.getDefault().post(eventBean); - } + EventBean eventBean = new EventBean(EventBean.BACK_STAGE,-1); + EventBus.getDefault().post(eventBean); +// Activity activityName = ActivityManager.getInstance().lastActivity(); +// if (activityName!=null && activityName.toString().contains("MainTabActivity")){ +// // jiablue +// +// } } }