feat#415_切换后台倒计时15分钟杀进程

This commit is contained in:
jia 2025-02-26 01:59:43 +08:00
parent e8b5fc8dd3
commit 8a9c8a375d
3 changed files with 80 additions and 13 deletions

View File

@ -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;
}
}
}

View File

@ -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";

View File

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