X时间后杀死android应用程序

时间:2018-11-30 17:23:43

标签: android background background-process kill-process

在用户将其置于后台至少30分钟后,我一直在寻找一种杀死我的应用程序的方法。

到目前为止,我发现的东西是:

    {
  "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
  "linterOptions": {
    "exclude": [
      "config/**/*.js",
      "node_modules/**/*.ts",
      "coverage/lcov-report/*.js"
    ]
  },
  "rules": {
    "member-access": {
      "options": ["no-public"]
    },
    "object-literal-sort-keys": false,
    "ordered-imports": false,
    "variable-name": [false],
    "jsx-no-lambda": false,
    "no-console": false
  }
}

到目前为止,我所了解的基本上是在使用API​​ 21之后的内容

getActivity().finish();
Process.killProcess(Process.myPid());
System.exit(1);

private void stopServices() {        
    final ActivityManager activityManager = SystemServices.getActivityManager(context);
    final List<ActivityManager.RunningServiceInfo> runningServices = activityManager.getRunningServices(Integer.MAX_VALUE);
    final int pid = Process.myPid();
    for (ActivityManager.RunningServiceInfo serviceInfo : runningServices) {
        if (serviceInfo.pid == pid && !SenderService.class.getName().equals(serviceInfo.service.getClassName())) {
            try {
                final Intent intent = new Intent();
                intent.setComponent(serviceInfo.service);
                context.stopService(intent);
            } catch (SecurityException e) { 
                 // handle exception
            }
        }
    }
}

在使用finishAndRemoveTask();

之前

但是一旦将应用程序放入this.finishAffinity();中X时间后如何启动计时器,然后调用应用程序kill方法。

1 个答案:

答案 0 :(得分:0)

所以我了解到您需要两件事:

  1. 弄清楚您的应用何时在后台
  2. 安排工作。

因此,这里有2个有关此问题的链接:

  1. How to detect if your app is in background
  2. Schedule a job on Android