我开始使用 Delphi 10.1 Berlin 为我的应用程序开发 Android 粘性服务,但我还没有找到任何涉及它的教程或书籍,所以我想问:
检测我的应用程序是否仍在运行或已被操作系统/用户终止的最简单方法是什么?
最佳答案
您可以通过包名称查找进程 ID,看看它是否仍然处于 Activity 状态。
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> pids = am.getRunningAppProcesses();
int processid = 0;
for (int i = 0; i < pids.size(); i++) {
ActivityManager.RunningAppProcessInfo info = pids.get(i);
if (info.processName.equalsIgnoreCase("packageNameSearchingFor")) {
processid = info.pid; //found it, we are running
}
}
或者您可以简单地将共享值存储在公共(public)共享首选项或可通过在前台或后台检查时更新的 ContentProvider 访问的数据库中。哪种方式都可以。
关于android - 如何检查我的应用程序是否仍在 Android 服务中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46332761/