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 +// +// } } }