{"adoption": {"forks": 497, "observed_at": "2026-08-28T04:07:18.540263+00:00", "stars": 2762}, "canonical_url": "https://ross.abutalabs.com/products/androidprocess", "card": {"archived": false, "artifact_type": "library", "description": "判断App位于前台或者后台的6种方法", "domain": ["android-tools", "mobile-development", "developer-tools"], "enriched": true, "function": ["developer-tools", "sdk"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["wenmingvs/AndroidProcess"], "name": "wenmingvs/AndroidProcess", "platform": ["jvm"], "pushed_at": "2022-09-09T12:42:48+00:00", "repo": "wenmingvs/AndroidProcess", "stars": 2762, "tags": ["foreground-detection", "background-detection", "app-state", "activity-lifecycle", "usagestats", "android"], "topics": [], "urls": [], "use_cases": ["detect if my android app is in foreground or background", "check whether another app is running in the foreground on android", "track app foreground state with activity lifecycle callbacks", "get foreground app package name without permissions", "compare methods for detecting android app background state"], "what_it_is": "An Android Java library that packages six different methods for detecting whether an app is in the foreground or background, exposed as a utility class. It includes techniques ranging from ActivityLifecycleCallbacks to reading /proc data, some of which can detect other apps' foreground state.", "when_to_avoid": ["you target modern Android versions where most cross-app detection methods are blocked", "you need a maintained, actively updated solution", "you only need simple lifecycle tracking that ProcessLifecycleOwner already provides"], "when_to_choose": ["you need a quick utility to know if your own app is foregrounded", "you want to compare multiple foreground-detection strategies in one place", "you need to detect other apps' foreground state on older Android versions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/androidprocess", "repo": "wenmingvs/AndroidProcess", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:18:43.402680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5218e9274f133f0309c2c0b1bb251fa0c183c04367d95e3487130666735f5387", "fetched_at": "2026-08-28T04:07:18.540263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wenmingvs/AndroidProcess"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:18:43.402680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5218e9274f133f0309c2c0b1bb251fa0c183c04367d95e3487130666735f5387", "fetched_at": "2026-08-28T04:07:18.540263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wenmingvs/AndroidProcess"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:18:43.402680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5218e9274f133f0309c2c0b1bb251fa0c183c04367d95e3487130666735f5387", "fetched_at": "2026-08-28T04:07:18.540263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wenmingvs/AndroidProcess"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:18:43.402680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5218e9274f133f0309c2c0b1bb251fa0c183c04367d95e3487130666735f5387", "fetched_at": "2026-08-28T04:07:18.540263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wenmingvs/AndroidProcess"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:18:43.402680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5218e9274f133f0309c2c0b1bb251fa0c183c04367d95e3487130666735f5387", "fetched_at": "2026-08-28T04:07:18.540263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wenmingvs/AndroidProcess"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:18:43.402680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5218e9274f133f0309c2c0b1bb251fa0c183c04367d95e3487130666735f5387", "fetched_at": "2026-08-28T04:07:18.540263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wenmingvs/AndroidProcess"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.540263+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:18:43.402680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5218e9274f133f0309c2c0b1bb251fa0c183c04367d95e3487130666735f5387", "fetched_at": "2026-08-28T04:07:18.540263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wenmingvs/AndroidProcess"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:18:43.402680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5218e9274f133f0309c2c0b1bb251fa0c183c04367d95e3487130666735f5387", "fetched_at": "2026-08-28T04:07:18.540263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wenmingvs/AndroidProcess"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:18:43.402680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5218e9274f133f0309c2c0b1bb251fa0c183c04367d95e3487130666735f5387", "fetched_at": "2026-08-28T04:07:18.540263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wenmingvs/AndroidProcess"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:18:43.402680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5218e9274f133f0309c2c0b1bb251fa0c183c04367d95e3487130666735f5387", "fetched_at": "2026-08-28T04:07:18.540263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wenmingvs/AndroidProcess"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3879, "days_push": 1454, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}