是否有任何方法可以找到应用程序何时关闭(由用户或系统关闭),即应用程序只能由用户通过按下应用程序启动器图标重新启动。
我认为只有在从getRunningAppProcesses()中删除进程名称时,Android 系统才会广播任何 Intent 是可能的。
我已经阅读了关于 SO 的所有可能的问答,并且该问题与 ActivityLifecycle 无关。
是否有任何方法可以找到应用程序何时关闭(由用户或系统关闭),即应用程序只能由用户通过按下应用程序启动器图标重新启动。
我认为只有在从getRunningAppProcesses()中删除进程名称时,Android 系统才会广播任何 Intent 是可能的。
我已经阅读了关于 SO 的所有可能的问答,并且该问题与 ActivityLifecycle 无关。
通常,等待用户“退出”应用程序是一个坏主意,因为:
因此,我认为任何基于等待应用程序“死亡”的解决方案都是一个糟糕的解决方案。相反,您应该提出一个尊重应用程序语义的解决方案。例如,如果您在其内容提供者之一中输入数据,那么它应该处理一致性(例如,跨应用程序中的片段)。
嗯..您可以手动监视文件系统上的 /proc 以查看您关心的应用程序是否存在进程 ID。
从您的终端窗口尝试以下操作。例如 :
> MYPID=(`adb shell ps | grep com.mydomain.myapp | awk '{print $2}'`)
> adb shell [ -d /proc/$MYPID ] && echo "PID $MYPID Exists"
将com.mydomain.myapp替换为您的应用程序包名称
有几个应用程序可用于监控 android 上的进程。看看http://code.google.com/p/android-os-monitor/
android-os-monitor 项目使用 JNI 层来实现与 /proc 的交互 http://code.google.com/p/android-os-monitor/source/browse/OSMonitor/jni/process.c?repo=渗透压监测器