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 44a19179b..c3e221bc6 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; // jiaxblue // 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 997ea251f..d2b0246a7 100644 --- a/iFish7/src/main/java/com/ifish/baseclass/BaseApplication.java +++ b/iFish7/src/main/java/com/ifish/baseclass/BaseApplication.java @@ -92,69 +92,62 @@ public class BaseApplication extends MultiDexApplication { .setScanTimeOut(30000) // 扫描超时时间30S,可选,默认10秒;小于等于0表示不限制扫描时间 .build(); BleManager.getInstance().initScanRule(scanRuleConfig); + registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { + @Override + public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle bundle) { + } -// registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { -// @Override -// public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle bundle) { -// -// } -// -// @Override -// public void onActivityStarted(@NonNull Activity activity) { -// if (count==0){ -// ToastUtil.show(app,"aaa"+count); -// L.i("jjia-x-----3-----"+count); + @Override + public void onActivityStarted(@NonNull Activity activity) { + if (count==0){ + EventBean eventBean = new EventBean(EventBean.BACK_STAGE,1); + EventBus.getDefault().post(eventBean); // Activity activityName = ActivityManager.getInstance().lastActivity(); // if (activityName!=null && activityName.toString().contains("MainTabActivity")){ -// L.i("jjia-x-----4-----"+count); -// // jiaxblue -// EventBean eventBean = new EventBean(EventBean.BLUETOOTH_START_SCAN); -// EventBus.getDefault().post(eventBean); +// // jiablue +//// EventBean eventBean = new EventBean(EventBean.BLUETOOTH_START_SCAN); +//// EventBus.getDefault().post(eventBean); // } -// } -// count++; -// -// } -// -// @Override -// public void onActivityResumed(@NonNull Activity activity) { -// -// } -// -// @Override -// public void onActivityPaused(@NonNull Activity activity) { -// -// } -// -// @Override -// public void onActivityStopped(@NonNull Activity activity) { -// count--; -// ToastUtil.show(app,"bbbb"+count); -// L.i("jjia-x-----0-----"+count); -// if (count==0){ + } + count++; + + } + + @Override + public void onActivityResumed(@NonNull Activity activity) { + + } + + @Override + public void onActivityPaused(@NonNull Activity activity) { + + } + + @Override + public void onActivityStopped(@NonNull Activity activity) { + count--; + if (count==0){ + EventBean eventBean = new EventBean(EventBean.BACK_STAGE,-1); + EventBus.getDefault().post(eventBean); // Activity activityName = ActivityManager.getInstance().lastActivity(); // if (activityName!=null && activityName.toString().contains("MainTabActivity")){ -// L.i("jjia-x-----1-----"+count); -// // jiaxblue -// EventBean eventBean = new EventBean(EventBean.BLUETOOTH_STOP_SCAN); -// EventBus.getDefault().post(eventBean); +// // jiablue +// // } -// } -// } -// -// @Override -// public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle bundle) { -// -// } -// -// @Override -// public void onActivityDestroyed(@NonNull Activity activity) { -// -// } -// }); + } + } + @Override + public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle bundle) { + } + + @Override + public void onActivityDestroyed(@NonNull Activity activity) { + + } + }); } /**